Setting constants based on TLD

Our app currently has some constants set in the environment.rb file using Object.const_set “ProductionDomain”, “mydomain.com” and some other domain related constants that are based off of this initial constant.

We are now going to be offering a .fr domain in addition to .com so I need to make these constants dynamic based on which TLD a person may be on.

My thought was that maybe I should move these constants into their own file in the initializers folder and can then check whether the user is on the .com TLD or .fr

Is there a better way to handle this? I couldn’t find a way to do it in the environment.rb file so I’m thinking this other approach may be the way to go.

We are on Rails 2.3.14, so any options need to be compatible with that version.

Thank you,

Ben

Do not undesten what’s the reason to have such constants. Site users send there requests with domain name and you can get it in “request.host” or other ActionController::Request methods.

If you needed dynamical behavior then you should refuse constants and use methods or variables.