On any given day at Atomic Object, we can glance around the office and see three or four teams using ruby for various customers and domains. These projects range from Rails web apps to JRuby desktop apps to support utilities. Every project has different needs, and uses different gems, so we’ve built up a wealth of experience with a variety of gems. These are a few of our favorites.
Testing
- factory_girl – Easy model generation (combine with randgen / forgery for random data)
- rspec – Ruby unit testing
- cucumber – Behavior driven development
- capybara – System level web testing
- timecop – Manipulate time to serve your needs
- rr – Test double framework
- jasmine – BDD for your javascript
Rails
- devise – Rails authentication
- cancan – Rails permissions
- migration_test_helper – Test your database structure
- remarkable – Matchers for Rails validations and more, aimed at DRYing up common specs
- jslint_on_rails – Validate your javascript from a rake task
- formtastic – Form builder DSL
Front-End
Utility
- bundler – Dependency management for applications and gems
- constructor, diy, injection – Dependency injection
- nokogiri – XML parsing with XPath and CSS3 selectors
If these don’t meet your needs, you can always find more on Ruby Toolbox. Leave a comment to let us know what you find. Did we miss your favorite gem? Leave a comment. Want to shamelessly promote your own gem? It’s on-topic.