squarism / spike_skeleton

A template for spiking and learning Ruby concepts or gems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

image

Get Brave.

This is a spiking skeleton, used for spiking on something you don't know. This is primary supposed to be used on the command line (ie: some simple library where you can run it without a browser).

Testing tools are included just for iteration speed. even if you aren't writing tests, using tools that watch your code for changes is the fastest iteration in the end.

Go Spike.

  • Git clone this thing.
    • git clone https://github.com/squarism/spike_skeleton.git my_awesome_spike
    • cd my_awesome_spike
  • Run bundle (this project comes with an rvm gemset)
  • Run bundle exec guard
  • Edit lib/spike.rb and start hacking on what you want to learn
  • Spike until your learning is getting too complex.
  • Write a test in spec/spike_spec.rb
  • Keep spiking with tests.

When you are done, throw this project away and start on your real project. You might feel like Bambi on ice still so I'd suggest starting a git branch and holding on to the experimental feeling as long as you can.

If you introduce too much ceremony, you won't want to take chances and will fear failure. And that's bad for growing. Maybe use this project to spike on integrating (whatever lib) into a real-world problem scenario.

How to play with toys.

Let's say you're trying to learn how the gem Foo works.

  • Run the hello world example.
  • Play with the hello world example. (spike with this skeleton)
  • Modify and break the hello world example. (experiment)
  • Start over on a new project trying to integrate what you learned. (leave nest)
  • Fail. (lesson learned)
  • Try again using a different perspective. (courage)
  • Perhaps succeed? Maybe find out your initial premise was wrong. (experience)
  • Spike again using this skeleton.

About

A template for spiking and learning Ruby concepts or gems


Languages

Language:Ruby 100.0%