Class: StackMaster::ParameterResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/stack_master/parameter_resolver.rb

Constant Summary collapse

ResolverNotFound =
Class.new(StandardError)
InvalidParameter =
Class.new(StandardError)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, stack_definition, parameters) ⇒ ParameterResolver

Returns a new instance of ParameterResolver.



10
11
12
13
14
15
# File 'lib/stack_master/parameter_resolver.rb', line 10

def initialize(config, stack_definition, parameters)
  @config = config
  @stack_definition = stack_definition
  @parameters = parameters
  @resolvers = {}
end

Class Method Details

.resolve(config, stack_definition, parameters) ⇒ Object



6
7
8
# File 'lib/stack_master/parameter_resolver.rb', line 6

def self.resolve(config, stack_definition, parameters)
  new(config, stack_definition, parameters).resolve
end

Instance Method Details

#resolveObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/stack_master/parameter_resolver.rb', line 17

def resolve
  @parameters.reduce({}) do |parameters, (key, value)|
    begin
      parameters[key] = resolve_parameter_value(key, value)
    rescue InvalidParameter
      raise InvalidParameter, "Unable to resolve parameter #{key.inspect} value causing error: #{$!.message}"
    end
    parameters
  end
end