[Ruby] home directory に置いた YAML ファイルを開く
設定ファイルを持って、読み込みたい。
ENVオブジェクトで home ディレクトリのパスを取得。
% pry
[1] pry(main)> ENV['HOME']
=> "/Users/****"
File.join
でパスを整える。
[2] pry(main)> file = File.join(ENV['HOME'], '.foo')
=> "/Users/****/.foo"
YAML ファイルを読み込み、Ruby オブジェクトに変換する。
[3] pry(main)> require 'yaml'
=> true
[4] pry(main)> config = YAML.load_file(file)
=> {"ignore"=>["atom", "omniplan1"]}
[5] pry(main)> config['ignore']
=> ["atom", "omniplan1"]
ファイルの存在は File.exist?
でチェックする。
[6] pry(main)> File.exist?(file)
=> true
サンプルの YAML ファイルは、以下の形式。
ignore:
- atom
- omniplan1
Rspec で ENV を stub するには、こんな形で書くよう。
allow(ENV).to receive(:[]).with('HOME').and_return('')