Skip to content
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.


...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
Something went wrong with that request. Please try again.