User Tools

Site Tools


rails

Rails

We're big fans of Ruby on Rails. This page lists out our current preferences for Rails-related technologies, along with some of the reasons we had in choosing them.

Basics:

  • Ruby 2.0
    • Would like to try Rubinius.
    • Not opposed to trying JRuby.
  • Rails 4.0
  • Unicorn or Puma
    • Unicorn is excellent for updating the site without any downtime.
    • Puma is great for concurrency, but works best with Rubinius or JRuby.

Data store:

  • ROM 1.0 (ORM)
    • Attributes and relations are declared in one place (the model).
    • Decouples attribute definitions from persistence logic.
  • PotsgreSQL
    • Use the pg gem.
    • Focuses on reliability, but also has lots of features.
    • Has plenty of NoSQL features as well.

Testing:

  • Cucumber 1.3
  • RSpec 2.14
    • Use new ``expect(x).to something`` syntax.
  • Bogus (mocking)
  • Capybara 2.1
  • Capybara WebKit
    • Would also like to try PhantomJS and Poltergeist.
  • Factory Girl 4.2
  • Shoulda
  • Timecop (for simulating date/time changes)

Views:

JavaScript:

  • CoffeeScript
    • Use the literate programming style with Markdown.
  • jQuery 2.0
  • jQuery Tools
    • Has excellent widgets, like date picker and range.
    • Not sure if this is well maintained these days though.
  • Jasmine 2.0 (JavaScript BDD)
  • Ember or Knockout or ???

Other:

  • Decent Exposure
  • bcrypt (password encryption)
    • Also willing to try scrypt or PBKDF2.
  • Better Errors
  • Weebit or Airbrake or exception_notification (exception notification)
  • Sidekiq (queuing of background tasks)
    • Much more efficient than Resque.
  • Bullet
    • Watches for slow queries in development.
  • Brakeman
    • Scans for potential security issues.
  • Rails best practices
  • MetricFu
  • Hamster
  • Rails footnotes
  • Casting DCI for presenters

Undecided:

  • Authentication:
    • Would like to try Sourcery.
    • Devise/Warden is OK.
    • OmniAuth is probably OK.
    • AuthLogic is probably OK.
    • Clearance might be OK.
  • Authorization:
    • Would like to try Allowy.
    • Would like to look at Easy Roles.
rails.txt · Last modified: 2013/11/27 22:36 by Admin