Class: Aws::Templates::Utils::Parametrized::Transformation::AsHash

Inherits:
Aws::Templates::Utils::Parametrized::Transformation show all
Includes:
Parametrized::ClassScope
Defined in:
lib/aws/templates/utils/parametrized/transformation/as_hash.rb

Overview

Convert input into hash

Input value can be anything implementing :to_hash method.

Example

class Piece
  include Aws::Templates::Utils::Parametrized

  parameter :param, :transform => as_hash
  parameter :param2,
    transform: as_hash {
      value name: :number,
        description: 'Number',
        constraint: not_nil,
        transform: as_integer
    }
end

i = Piece.new
i.param # => nil
i = Piece.new(:param => [[1,2]])
i.param # => {1=>2}
i = Piece.new(:param2 => [[1,'3']])
i.param # => {1=>3}

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Aws::Templates::Utils::Parametrized::Transformation

#to_proc, #transform_wrapper

Constructor Details

#initialize(klass = nil, &blk) ⇒ AsHash

Returns a new instance of AsHash.



48
49
50
51
# File 'lib/aws/templates/utils/parametrized/transformation/as_hash.rb', line 48

def initialize(klass = nil, &blk)
  @klass = klass
  instance_eval(&blk) if blk
end

Instance Attribute Details

#key_parameterObject (readonly)

Returns the value of attribute key_parameter.



37
38
39
# File 'lib/aws/templates/utils/parametrized/transformation/as_hash.rb', line 37

def key_parameter
  @key_parameter
end

#value_parameterObject (readonly)

Returns the value of attribute value_parameter.



38
39
40
# File 'lib/aws/templates/utils/parametrized/transformation/as_hash.rb', line 38

def value_parameter
  @value_parameter
end

Instance Method Details

#key(opts) ⇒ Object



40
41
42
# File 'lib/aws/templates/utils/parametrized/transformation/as_hash.rb', line 40

def key(opts)
  @key_parameter = _create_parameter(opts)
end

#value(opts) ⇒ Object



44
45
46
# File 'lib/aws/templates/utils/parametrized/transformation/as_hash.rb', line 44

def value(opts)
  @value_parameter = _create_parameter(opts)
end