Class: SavonHelper::ArrayMapping
- Inherits:
-
TypeMapping
- Object
- TypeMapping
- SavonHelper::ArrayMapping
- Defined in:
- lib/savon_helper/type_mappings.rb
Overview
ArrayMapping maps Savon data to Ruby Arrays
Converting collapse
-
#to_native(data, interface) ⇒ Array<@element_mapping>
Convert from Savon data to Ruby value.
Class Method Summary collapse
-
.to_native(element_mapping, data, interface) ⇒ Array<element_mapping>
Convert the given Savon data to an Array consisting of elements described by element_mapping.
Instance Method Summary collapse
- #default_value ⇒ Object abstract
-
#initialize(element_mapping, name = '', description = '') ⇒ ArrayMapping
constructor
A new instance of TypeMapping with description.
-
#object_klass ⇒ Class
Return the class represented by the mapping.
-
#type_string ⇒ String
Return the class description represented by the mapping.
Methods inherited from TypeMapping
#description, #to_savon, #warn_unparseable_data
Constructor Details
#initialize(element_mapping, name = '', description = '') ⇒ ArrayMapping
A new instance of TypeMapping with description
429 430 431 432 |
# File 'lib/savon_helper/type_mappings.rb', line 429 def initialize(element_mapping, name='', description='') super(name, description) @element_mapping = element_mapping end |
Class Method Details
.to_native(element_mapping, data, interface) ⇒ Array<element_mapping>
Convert the given Savon data to an Array consisting of elements described by element_mapping
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 |
# File 'lib/savon_helper/type_mappings.rb', line 405 def self.to_native(element_mapping, data, interface) return [] if data.blank? result = [] if data.is_a?(Array) data.each do |element| result << element_mapping.to_native(element, interface) end elsif data.is_a?(Hash) item = data[:item] if item.nil? result << element_mapping.to_native(data, interface) else result = to_native(element_mapping, item, interface) end else result = warn_unparseable_data(data, interface) end result end |
Instance Method Details
#default_value ⇒ Object
This method is abstract.
Return the default value the mapping.
459 460 461 |
# File 'lib/savon_helper/type_mappings.rb', line 459 def default_value [] end |
#object_klass ⇒ Class
Return the class represented by the mapping.
447 448 449 |
# File 'lib/savon_helper/type_mappings.rb', line 447 def object_klass @element_mapping.object_klass end |
#to_native(data, interface) ⇒ Array<@element_mapping>
Convert from Savon data to Ruby value
439 440 441 |
# File 'lib/savon_helper/type_mappings.rb', line 439 def to_native(data, interface) self.class.to_native(@element_mapping, data, interface) end |
#type_string ⇒ String
Return the class description represented by the mapping.
453 454 455 |
# File 'lib/savon_helper/type_mappings.rb', line 453 def type_string "Array<#{@element_mapping.type_string}>" end |