class CfnDsl::ExternalParameters
Handles all external parameters
Attributes
parameters[R]
Public Class Methods
current()
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 23 def current @current || refresh! end
defaults(params = {})
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 17 def defaults(params = {}) @defaults ||= {} @defaults.merge! params @defaults end
new()
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 32 def initialize @parameters = self.class.defaults.clone end
refresh!()
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 27 def refresh! @current = new end
Public Instance Methods
get_param(key)
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 44 def get_param(key) parameters[key.to_sym] end
Also aliased as: []
load_file(fname)
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 53 def load_file(fname) format = File.extname fname case format when /ya?ml/ params = YAML.load_file fname when /json/ params = JSON.parse File.read(fname) else raise "Unrecognized extension #{format}" end if CfnDsl.disable_deep_merge? params.each { |key, val| set_param(key, val) } else x = {} params.map { |k, v| x[k.to_sym] = v } merge_param(x) end end
merge_param(xray)
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 40 def merge_param(xray) parameters.deep_merge!(xray) end
set_param(key, val)
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 36 def set_param(key, val) parameters[key.to_sym] = val end
to_h()
click to toggle source
# File lib/cfndsl/external_parameters.rb, line 49 def to_h parameters end