Module: Bizside::ItamaeConfAccessorMixin

Defined in:
lib/bizside/itamae_conf.rb

Overview

各フェーズで itamae_conf メソッド経由でアクセスできるようにするための ユーティリティ。node メソッドと同様。

Instance Method Summary collapse

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_factoryObject

必要に応じて上書き



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