Class: IngramMicro::BaseElement

Inherits:
Object
  • Object
show all
Defined in:
lib/ingram_micro/base_element.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ BaseElement

Returns a new instance of BaseElement.



5
6
7
8
9
10
11
12
# File 'lib/ingram_micro/base_element.rb', line 5

def initialize(options={})
  @element = {}
  self.defaults.each do |field, default|
    value = (options[field] ? options[field] : default)
    @element[field] = value
  end
  @element[:customer_id] ||= IngramMicro.configuration.customer_id
end

Instance Attribute Details

#elementObject

Returns the value of attribute element.



3
4
5
# File 'lib/ingram_micro/base_element.rb', line 3

def element
  @element
end

Instance Method Details

#build(builder) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/ingram_micro/base_element.rb', line 14

def build(builder)
  self.defaults.keys.each do |field|
    element_name = field.to_s.gsub('_', '-')
    element_value = @element[field]
    builder.send(element_name, element_value)
  end
end

#integer?(string) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/ingram_micro/base_element.rb', line 29

def integer?(string)
  Integer(string) != nil rescue false
end

#parse(message_hash) ⇒ Object



22
23
24
25
26
27
# File 'lib/ingram_micro/base_element.rb', line 22

def parse(message_hash)
  defaults.each do |field|
    element_name = field.to_s.gsub('_', '-')
    @element[field] = message_hash[element_name]
  end
end