システム設定(config)

システム設定(config)

シラサギではシステム設定の既定値を config/defaults/ 以下に配置し、 デプロイ毎に異なるシステム設定は config/defaults/ 以下の当該ファイルを config/ にコピーし、 設定値を変更する運用ポリシーとなっています。

例: sendmail ではなく smtp を使用する場合 

config/defaults/mail.yml を config/ にコピーし、delivery_method を smtp に変更します。

プログラムでのシステム設定の取得

プログラム内部からは、SS.config.モジュール名.設定キー で取得することができます。

例: mail.ymldelivery_method を取得する場合

SS.config.mail.delivery_method

深い階層にある設定を取得する場合、2 階層目以降は Hash のアクセスと同じ [] を用いてアクセスします。

例:

SS.config.cms.check_links["html_request_timeout"]
SS.config.cms.ckeditor["options"]["allowedContent"]

新しいシステム設定の追加

既定値を納めたファイルを config/defaults/ 以下に作成します。

例: 次のような内容を持つ config/defaults/blog.yml を作成したとします。

# blog
production: &production
  avatar: show
  email: hide

test:
  <<: *production

development:
  <<: *production

プログラムからは次のようにして取得することができます。

SS.config.blog.avatar
SS.config.blog.email

サイト設定やフォルダー設定による上書き

追加したシステム設定は、サイト設定やフォルダー設定で上書きできるように留意しましょう。