Module: Bizside::ItamaeConfAccessorMixin
- Defined in:
- lib/bizside/itamae_conf.rb
Overview
各フェーズで itamae_conf メソッド経由でアクセスできるようにするためのユーティリティ。node メソッドと同様。
Instance Method Summary collapse
- #itamae_conf(*args) ⇒ Object
-
#itamae_conf_factory ⇒ Object
必要に応じて上書き.
-
#set_itamae_conf(key, value) ⇒ Object
itamae_conf に値をセットします。.
Instance Method Details
#itamae_conf(*args) ⇒ Object
140 141 142 143 144 145 146 147 148 |
# File 'lib/bizside/itamae_conf.rb', line 140 def itamae_conf(*args) if args.nil? || (args.is_a?(Array) && args[0].is_a?(Symbol) || args[0].nil?) itamae_conf_sub(itamae_conf_factory.conf, args) elsif args.is_a?(Array) && args[0].is_a?(String) itamae_conf_sub(itamae_conf_factory.conf, args[0].split('.').map{|s| s.to_sym}) else raise 'unsupported argument type' end end |
#itamae_conf_factory ⇒ Object
必要に応じて上書き
136 137 138 |
# File 'lib/bizside/itamae_conf.rb', line 136 def itamae_conf_factory Bizside::ItamaeConf.instance end |
#set_itamae_conf(key, value) ⇒ Object
itamae_conf に値をセットします。
安易な上書きを避けるため、既存値が存在する場合は OverWriteError としています。
簡単化のため、シンボル指定(set_itamae_conf(:a, :b, …, value))はサポートしていません(itamae_conf と違って)。
156 157 158 159 |
# File 'lib/bizside/itamae_conf.rb', line 156 def set_itamae_conf(key, value) raise 'まだ用途が定まっていないので、使用不可です。' unless Bizside.env == 'test' set_itamae_conf_sub(itamae_conf_factory.conf, key.split('.'), key, value) end |