Class: PackAPI::Mapping::AttributeMap::ValueTransformation
- Inherits:
-
Object
- Object
- PackAPI::Mapping::AttributeMap::ValueTransformation
- Defined in:
- lib/pack_api/mapping/attribute_map.rb
Instance Attribute Summary collapse
-
#instance_method ⇒ Object
readonly
Returns the value of attribute instance_method.
-
#proc ⇒ Object
readonly
Returns the value of attribute proc.
Instance Method Summary collapse
- #call(attribute_map, attribute_value) ⇒ Object
-
#initialize(klass, proc_or_method_name, kwargs = nil) ⇒ ValueTransformation
constructor
A new instance of ValueTransformation.
- #kwargs=(new_kwargs) ⇒ Object
Constructor Details
#initialize(klass, proc_or_method_name, kwargs = nil) ⇒ ValueTransformation
Returns a new instance of ValueTransformation.
216 217 218 219 220 221 222 223 |
# File 'lib/pack_api/mapping/attribute_map.rb', line 216 def initialize(klass, proc_or_method_name, kwargs = nil) if proc_or_method_name.is_a?(Proc) @proc = proc_or_method_name else @instance_method = klass.instance_method(proc_or_method_name) end self.kwargs = kwargs end |
Instance Attribute Details
#instance_method ⇒ Object (readonly)
Returns the value of attribute instance_method.
214 215 216 |
# File 'lib/pack_api/mapping/attribute_map.rb', line 214 def instance_method @instance_method end |
#proc ⇒ Object (readonly)
Returns the value of attribute proc.
214 215 216 |
# File 'lib/pack_api/mapping/attribute_map.rb', line 214 def proc @proc end |
Instance Method Details
#call(attribute_map, attribute_value) ⇒ Object
225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/pack_api/mapping/attribute_map.rb', line 225 def call(attribute_map, attribute_value) if @kwargs proc ? attribute_map.instance_exec(attribute_value, **@kwargs, &proc) : attribute_map.send(instance_method.name, attribute_value, **@kwargs) else proc ? attribute_map.instance_exec(attribute_value, &proc) : attribute_map.send(instance_method.name, attribute_value) end end |
#kwargs=(new_kwargs) ⇒ Object
237 238 239 240 241 |
# File 'lib/pack_api/mapping/attribute_map.rb', line 237 def kwargs=(new_kwargs) @kwargs = new_kwargs == DEFAULT_OPTIONS || new_kwargs.blank? ? nil : supported_kwargs(new_kwargs) end |