Class: IngramMicro::BaseElement
- Inherits:
-
Object
- Object
- IngramMicro::BaseElement
show all
- Defined in:
- lib/ingram_micro/base_element.rb
Direct Known Subclasses
CreditCardInformation, Customer, Detail, MessageHeaderNoPW, MessageHeaderPW, MessageStatus, PurchaseOrderInformation, ReturnAuthorizationLineItem, ReturnAuthorizationOrderHeader, ReturnAuthorizationSubmission, SalesOrderHeader, SalesOrderLineItem, SalesOrderSubmission, ShipmentInformation, ShipmentStatus, ShipmentStatusLineItem
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ BaseElement
4
5
6
7
8
9
10
11
|
# File 'lib/ingram_micro/base_element.rb', line 4
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
#element ⇒ Object
Returns the value of attribute element.
2
3
4
|
# File 'lib/ingram_micro/base_element.rb', line 2
def element
@element
end
|
Class Method Details
28
29
30
31
|
# File 'lib/ingram_micro/base_element.rb', line 28
def self.format(field, formatter)
@formatters ||= {}
@formatters[field] = formatter
end
|
Instance Method Details
#build(builder) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/ingram_micro/base_element.rb', line 13
def build(builder)
self.defaults.keys.each do |field|
element_name = field.to_s.gsub('_', '-')
element_value = formatted_value_of(field)
builder.send(element_name, element_value)
end
end
|
#parse(message_hash) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/ingram_micro/base_element.rb', line 21
def parse(message_hash)
defaults.each do |field|
element_name = field.to_s.gsub('_', '-')
@element[field] = message_hash[element_name]
end
end
|