Blogs from the Ranch

< Back to Our Blog

Getting Started with Ruby on Rails – What Tools do you Use?

A friend recently asked us, here at Highgroove:

“I am wanting to get into Ruby and Ruby on Rails development – what tools should I use, so I can start with a leg up?”

It’s a great question, and once we answered, our friend said: “you should put this on-line.” So here goes…

We’re all Mac-heads, so we use Mac OS X Snow Leopard, with either VMWare or VirtualBox to run Windows 7 (for browser testing).

We use many different Ruby versions – each client’s project may require a different version (ruby 1.8, ruby 1.9, JRuby, etc.), so we use a tool called RVM to allow us to switch between Ruby versions on a per project basis. If you’re brand new, the default Ruby 1.8.7 should be fine.

We like to “build tools from source,” which means we use guides like Hivelogic’s Installing Ruby, RubyGems, and Rails on Slow Leopard, and for that reason, most of us use homebrew, too.

We use TextMate to edit code in projects, but only because we wrote the book on it. A few of us use Vim, and because of the internal competition (can Textmate do this? Can Vim do this?), we’re always getting more productive with both.

We use the MySQL database and often times, SQLite (it ships with Mac, is built-in and is easy to use for small projects). We also have PostgreSQL installed for a few clients.

For deployment we use the cloud platforms, either RailsMachine, EngineYard, Amazon EC2, Rackspace Cloud, or Heroku. Heroku is the way to go if you’re new to Ruby on Rails. We also can’t live without Scout, once a Ruby on Rails application is up and running.

We use Basecamp for Project Management, and Pivotal Tracker for tracking feature development. We use test/unit to write unit testing, RSpec when the time is right, and Cucumber for speeding up development (and getting it done right). We also use Selenium (in conjunction with Cucumber) for doing high level feature development. If you’re just getting started, stick to test/unit, and then add in RSpec and Cucumber when you realize why you really need these tools.

In a nut-shell, we always do feature development off a list of stories, either in an iteration, or from a moving, constantly prioritized back-log, that includes descriptions, screenshots, and what we call “acceptance criteria”, which is just a fancy word for: “how will we know when the feature we built is working?”

We use git for source control, and host our projects on github.com.

When evaluating libraries, we love the Ruby Toolbox. We also stay up to date with the Railscasts videos. PeepCode is indispensable, if you’re new to Ruby on Rails.

What tools would you recommend?

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project