Class: PackAPI::Mapping::AttributeMap::ValueTransformationChain

Inherits:
Object
  • Object
show all
Defined in:
lib/pack_api/mapping/attribute_map.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transformations) ⇒ ValueTransformationChain

Returns a new instance of ValueTransformationChain.



261
262
263
# File 'lib/pack_api/mapping/attribute_map.rb', line 261

def initialize(transformations)
  @transformations = transformations
end

Instance Attribute Details

#transformationsObject (readonly)

Returns the value of attribute transformations.



260
261
262
# File 'lib/pack_api/mapping/attribute_map.rb', line 260

def transformations
  @transformations
end

Instance Method Details

#call(attribute_map, attribute_value) ⇒ Object



269
270
271
272
273
# File 'lib/pack_api/mapping/attribute_map.rb', line 269

def call(attribute_map, attribute_value)
  transformations.reduce(attribute_value) do |prev_result, next_transformation|
    next_transformation.call(attribute_map, prev_result)
  end
end

#kwargs=(new_kwargs) ⇒ Object



265
266
267
# File 'lib/pack_api/mapping/attribute_map.rb', line 265

def kwargs=(new_kwargs)
  transformations.each { it.kwargs = new_kwargs }
end