Create a gist now

Instantly share code, notes, and snippets.

Environment-based initializers in Rails - USE THEM!
# what? why does your production code care what environment it is in? SILLY!
unless Rails.development? || Rails.test?
# in code, no more environment check
# in config/development.rb
module Slottd
CreatesReservationTimer = Timers::Null
# in config/production.rb
module Slottd
CreatesReservationTimer = Timers::IronWorker

I like the way the "production" code ends up, but having the constant defined via initializer would likely surprise me. At least the first time I discovered it. And every time I forgot and re-discovered it. Probably worth it though.

jbonnet commented Sep 12, 2012

...and the 'old_school_use' has the advantage of having it all together, and making reading easier.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment