Class: SavonHelper::TypeMapping

Inherits:
Object
  • Object
show all
Defined in:
lib/savon_helper/type_mappings.rb

Overview

A TypeMapping class is responsible for converting between Savon primitive types and Ruby Types

Instance Attribute Summary collapse

Converting collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = '', description = '') ⇒ TypeMapping

A new instance of TypeMapping with description

Parameters:

  • description (String) (defaults to: '')

    A String describing the mapping.



13
14
15
16
# File 'lib/savon_helper/type_mappings.rb', line 13

def initialize(name='', description='')
  @name = name
  @description = description
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



8
9
10
# File 'lib/savon_helper/type_mappings.rb', line 8

def description
  @description
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/savon_helper/type_mappings.rb', line 8

def name
  @name
end

Instance Method Details

#default_valueObject

This method is abstract.

Return the default value the mapping.

Returns:



50
51
52
# File 'lib/savon_helper/type_mappings.rb', line 50

def default_value
  raise "#{self.class}##{__method__}() not implemented!"
end

#object_klassClass

This method is abstract.

Return the class represented by the mapping.

Returns:

  • (Class)


38
39
40
# File 'lib/savon_helper/type_mappings.rb', line 38

def object_klass
  raise "#{self.class}##{__method__}() not implemented!"
end

#to_native(data) ⇒ Object

This method is abstract.

Convert from Savon data to Ruby value

Parameters:

  • data (Hash, Object)

    Source Savon data

Returns:



23
24
25
# File 'lib/savon_helper/type_mappings.rb', line 23

def to_native(data)
  raise "#{self.class}##{__method__}(#{data.inspect}) not implemented!"
end

#to_savon(value) ⇒ Object

This method is abstract.

Convert from Ruby value type to Savon data

Parameters:

  • value (Object)

    Source Ruby value

Returns:



30
31
32
# File 'lib/savon_helper/type_mappings.rb', line 30

def to_savon(value)
  raise "#{self.class}##{__method__}(#{value.inspect}) not implemented!"
end

#type_stringString

This method is abstract.

Return the class description represented by the mapping.

Returns:



44
45
46
# File 'lib/savon_helper/type_mappings.rb', line 44

def type_string
  raise "#{self.class}##{__method__}() not implemented!"
end