config って?
開発環境ごとに定数を YAML ファイルで管理できるプラグインのこと
公式リポジトリ
configをインストール
Gemfile に config を記述
Gemfile
gem 'config'
vendor/bundle 以下に config をインストール
$ bundle install --path vendor/bundle
$ bundle exec rails g config:install
create config/initializers/rails_config.rb
create config/settings.yml
create config/settings.local.yml
create config/settings
create config/settings/development.yml
create config/settings/production.yml
create config/settings/test.yml
append .gitignore
gitignoreには自動で下記の内容が追加される
config/settings.local.yml
config/settings/*.local.yml
config/environments/*.local.yml
使用したい環境に応じて編集するファイルを変更
YAML(環境) | ファイルの場所 |
---|---|
全ての環境のYAML | config/settings.yml |
ローカル環境専用のYAML | config/settings.local.yml |
開発環境専用のYAML | config/settings/development.yml |
テスト環境専用のYAML | config/settings/test.yml |
本番環境専用のYAML | config/settings/production.yml |
記述例
config/settings.yml
twitter:
follow_target_name: 'mossmoss'
text: 'mossmossmossmossmoss'
url : 'http://mossmossmossmossmoss.com/'
参照例
Settings.twitter[:text]
Settings.twitter['text']
Settings[:twitter][:text]
settingslogicもいいけど、わかりやすいしそこそこ大きな開発の時に使えそうなrails_configでした。