::Rails.env based domain var

What's the "right" way to DRY up this statement in my app?

      if ::Rails.env == 'staging'         domain = '.staging-domain.com'       else         domain = '.production-domain.com'       end

I am using it in a mailer, as well as, the session_store.rb initializer.

Not sure how I should make this "domain" variable available across my entire app the "Rails" way.

Thanks!

What's the "right" way to DRY up this statement in my app?

     if ::Rails.env == 'staging'        domain = '.staging-domain.com'      else        domain = '.production-domain.com'      end

I am using it in a mailer, as well as, the session_store.rb initializer.

Not sure how I should make this "domain" variable available across my entire app the "Rails" way.

I would put it in your config/environments/[environment].rb files, one per environment, or put the local (test/development) one in your environment.rb file, and the deployment version in the production.rb file.

Walter

Domain = (::Rails.env == “staging” ? Staging-domain : other-domain)

Handy posted…

Probably the best would be to set it as the default host:

config.routes.default_url_options[:host] = ‘something.com

in each environment. This has the added bonus of ensuring that full URLs always get generated with the right host. You may need to also set config.action_mailer.default_url_options[:host] to get the same information to your mailers.

–Matt Jones