YAML ファイルを読み込む方法
yaml
を require
して、YAML.load_file
を使うとハッシュとして読み込める。キーはシンボルではなく文字列になっている。
require "yaml" config = YAML.load_file("config.yml") hoge = config[Rails.env]["some_settings"]["hoge"]
参考:
Ruby で YAML を扱う方法を知った | 北村聡士のブログ
Ruby で YAML ファイルを取り扱う方法 | Permanent Til
Ruby の YAML.load で yaml 形式の文字列 → オブジェクト変換時のエラー | EasyRamble
singleton method Psych.load_file (Ruby 2.6.0)
symbolize_keys / symbolize_keys!
文字列のキーをシンボルに変換する。
参考:
Ruby の YAML とシンボルと私 | TECHSCORE BLOG
symbolize_keys – Hash | Ruby on Rails API [Official]
symbolize_keys! – Hash | Ruby on Rails API [Official]
HashWithIndifferentAccess
文字列とシンボルのどちらのキーでもアクセスできるように拡張されたハッシュ。
参考:
ActiveSupport::HashWithIndifferentAccess | Ruby on Rails API [Official]
with_indifferent_access
文字列とシンボルのどちらのキーでもアクセスできるようにハッシュを拡張する。
参考:
with_indifferent_access – Hash | Ruby on Rails API [Official]
Hashie
require "hashie" config = Hashie::Mash.load("config.yml") hoge = config.development.some_settings.hoge
参考:
Ruby で YAML ファイルを load するもう1つの便利な方法 – Qiita
ERB
参考:
YAML に ruby のコードを書く方法 | rochefort’s blog
Sinatra::ConfigFile で YAML の中で ERB の記法を使いたい – Qiita
Sinatra の database.yml で dotenv を使いたい | たくみん成長日記
Ruby で yaml ファイルに環境別の設定を書いて、さらに ERB のコードを使えるようにする | 北村聡士のブログ
Using ERB in YAML Configuration File | urge to punt technologies
YAML with erb is not parsing – Stack Overflow
Dynamically generate fixtures in Rails via loop in YAML file – Stack Overflow
タグ
参考:
YAML のタグ (!Ref など) を Ruby で扱う – Qiita
Tips
参考: