Railsでの定数定義

これまでは、config/initializers 以下に定数用moduleを置いていました。 config/initializers ってアプリの初期化するためのが目的なので、微妙だなとはずっと思っていたのですが、 惰性でずっとこのようにしていました。

最近は

以下のようにしています。

# lib/app_constants.rb
module AppConstants
  SOME_HOST = "https://some.com/".freeze
end
AppConstants.freeze

app_constantsか、もしくはアプリ用にnamespace切ってsome_app/constants にしています。

# config/environment.rb
require "app_constants"

ご参考

Rubyで定数を扱う場合はfreezeするべき - Qiita