YAML Ruby Binding
YAML Rubyバインディングは、Psych(Ruby標準ライブラリ)が提供するRuby向けの解析APIで、YAMLをRubyオブジェクトへマッピングする。
目的
RubyアプリケーションでYAMLを読み書きし、YAMLをHash/Array/オブジェクトへマッピングして、Rubyオブジェクトのシリアライズにも対応する。
メカニズム
YAML.load(yaml_str)はRubyオブジェクトを返し、YAML.dump(obj)はYAML文字列を返す。PsychはRuby 2.0以降のデフォルトYAMLエンジンで、YAML 1.1をサポートする。オブジェクトインジェクションを防ぐにはsafe_loadを使う。
ユースケース
- Railsの設定
- Rubyオブジェクトのシリアライズ
- Gemのメタデータ