Rails 4.1 の新機能の一つである秘匿情報をコードと分離する仕組みとしての config/secrets.yml
を使ってみた。今までは SettingsLogic のような外部 gem を入れて実現していたけど、本体がサポートするならそれを使った方がよろしかろうという選択。
まず最初に今まで Settings.foo
でアクセスできたものが Rails.appcalition.secrets.foo
となるのは長くてだるいので
module Rails
def self.secrets
application.secrets
end
end
みたいなのを生やして Rails.secrets.foo
でアクセスできるようにした。Rails.env
みたいなもんだと思えば割と許容範囲。
あと、SettingsLogic のような奴だと hashie のように Settings.foo.bar
とアクセスできたのだけど、secrets.yml だと Rails.secrets.foo['bar']
とアクセスしなくてはいけない。これはまあ yaml というのはそういうものだからしょうがないよね。
https://github.com/rono23/dot_secrets を使うと、Rails.secrets.foo.barのようにアクセスできましたよ!
お、便利情報ありがとうございます。