ingram_micro 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ingram_micro/elements/sales_order_submission.rb +3 -3
- data/lib/ingram_micro/transmission.rb +8 -3
- data/lib/ingram_micro/transmissions/check_shipment_status.rb +1 -1
- data/lib/ingram_micro/transmissions/return_authorization.rb +1 -1
- data/lib/ingram_micro/transmissions/sales_order.rb +10 -4
- data/lib/ingram_micro/transmissions/standard_response.rb +1 -1
- data/lib/ingram_micro/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae29cf578fd9c5601075983aae88cbb12ba141bd
|
4
|
+
data.tar.gz: a2db6217061f0febba1a4ff9c60117a18bf92532
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c50b9315c2ffbe9bc8d0fbd82a883e64a8a942c8af3d070d79a2e9a2ec0762f002917ce94bd79597d727c7df5574ee15df0a3ed9452cc6325736f7a2ed40b367
|
7
|
+
data.tar.gz: db68618513f87dce397a6d65bc8f8b822b099d66e8f333354a81396bea34ba353a4448cb45d2921c8d70ce5874f004bf7495e3a902d3e49556ce261f4c1ada55
|
@@ -4,7 +4,7 @@ class IngramMicro::SalesOrderSubmission < IngramMicro::BaseElement
|
|
4
4
|
customer: nil,
|
5
5
|
sales_order_shipment_information: nil,
|
6
6
|
credit_card_information: nil,
|
7
|
-
|
7
|
+
sales_order_header: nil,
|
8
8
|
detail: nil,
|
9
9
|
line_items: [],
|
10
10
|
customer_id: nil,
|
@@ -21,7 +21,7 @@ class IngramMicro::SalesOrderSubmission < IngramMicro::BaseElement
|
|
21
21
|
@element[:customer] ||= IngramMicro::Customer.new
|
22
22
|
@element[:sales_order_shipment_information] ||= IngramMicro::SalesOrderShipmentInformation.new
|
23
23
|
@element[:credit_card_information] ||= IngramMicro::CreditCardInformation.new
|
24
|
-
@element[:
|
24
|
+
@element[:sales_order_header] ||= IngramMicro::SalesOrderHeader.new
|
25
25
|
check_line_items
|
26
26
|
@element[:detail] ||= IngramMicro::Detail.new({line_items: @element[:line_items]})
|
27
27
|
end
|
@@ -41,7 +41,7 @@ class IngramMicro::SalesOrderSubmission < IngramMicro::BaseElement
|
|
41
41
|
@element[:credit_card_information].build(builder)
|
42
42
|
end
|
43
43
|
builder.send('order-header') do
|
44
|
-
@element[:
|
44
|
+
@element[:sales_order_header].build(builder)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
builder.send('detail') do
|
@@ -21,7 +21,7 @@ class IngramMicro::Transmission
|
|
21
21
|
xsd = Nokogiri::XML::Schema(File.read("#{IngramMicro::GEM_DIR}/xsd/" +
|
22
22
|
XSD[self.transaction_name]))
|
23
23
|
valid = true
|
24
|
-
xsd.validate(self.
|
24
|
+
xsd.validate(self.xml_builder.doc).each do |error|
|
25
25
|
errors << error.message
|
26
26
|
valid = false
|
27
27
|
end
|
@@ -30,7 +30,12 @@ class IngramMicro::Transmission
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def order_builder
|
33
|
-
|
33
|
+
warn '[DEPRECATION] `order_builder` is deprecated. Please use `xml_builder` instead.'
|
34
|
+
xml_builder
|
35
|
+
end
|
36
|
+
|
37
|
+
def xml_builder
|
38
|
+
raise Exception('xml_builder needs to be implemented in subclass')
|
34
39
|
end
|
35
40
|
|
36
41
|
def add_transaction_info(builder)
|
@@ -45,6 +50,6 @@ class IngramMicro::Transmission
|
|
45
50
|
|
46
51
|
def send_request
|
47
52
|
client = IngramMicro::Client.new
|
48
|
-
client.post(self.
|
53
|
+
client.post(self.xml_builder.to_xml)
|
49
54
|
end
|
50
55
|
end
|
@@ -10,7 +10,7 @@ class IngramMicro::CheckShipmentStatus < IngramMicro::Transmission
|
|
10
10
|
@line_items = options[:line_items]
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def xml_builder
|
14
14
|
@builder ||= Nokogiri::XML::Builder.new do |builder|
|
15
15
|
builder.message do
|
16
16
|
add_message_header(builder)
|
@@ -13,7 +13,7 @@ class IngramMicro::ReturnAuthorization < IngramMicro::Transmission
|
|
13
13
|
@purchase_order_information = options[:purchase_order_information]
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def xml_builder
|
17
17
|
@builder ||= Nokogiri::XML::Builder.new do |builder|
|
18
18
|
builder.send('message') do
|
19
19
|
add_message_header(builder)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class IngramMicro::SalesOrder < IngramMicro::Transmission
|
2
|
-
attr_accessor :customer, :credit_card_information, :
|
2
|
+
attr_accessor :customer, :credit_card_information, :sales_order_header,
|
3
3
|
:sales_order_shipment_information, :detail, :carrier_name, :business_name,
|
4
4
|
:customer_id
|
5
5
|
|
@@ -9,14 +9,15 @@ class IngramMicro::SalesOrder < IngramMicro::Transmission
|
|
9
9
|
@customer = options[:customer]
|
10
10
|
@sales_order_shipment_information = options[:sales_order_shipment_information]
|
11
11
|
@credit_card_information = options[:credit_card_information]
|
12
|
-
@
|
12
|
+
@sales_order_header = options[:sales_order_header]
|
13
13
|
@detail = options[:detail]
|
14
14
|
@business_name = options[:business_name]
|
15
15
|
@customer_id = options[:customer_id]
|
16
16
|
@carrier_name = options[:carrier_name]
|
17
|
+
validate_options(options)
|
17
18
|
end
|
18
19
|
|
19
|
-
def
|
20
|
+
def xml_builder
|
20
21
|
@builder ||= Nokogiri::XML::Builder.new do |builder|
|
21
22
|
builder.message do
|
22
23
|
add_message_header(builder)
|
@@ -44,7 +45,7 @@ class IngramMicro::SalesOrder < IngramMicro::Transmission
|
|
44
45
|
carrier_name: @carrier_name,
|
45
46
|
customer: customer,
|
46
47
|
sales_order_shipment_information: sales_order_shipment_information,
|
47
|
-
|
48
|
+
sales_order_header: sales_order_header,
|
48
49
|
credit_card_information: credit_card_information
|
49
50
|
}
|
50
51
|
sos = IngramMicro::SalesOrderSubmission.new(sos_options)
|
@@ -53,4 +54,9 @@ class IngramMicro::SalesOrder < IngramMicro::Transmission
|
|
53
54
|
end
|
54
55
|
sos.valid?
|
55
56
|
end
|
57
|
+
|
58
|
+
def validate_options(options)
|
59
|
+
raise "use sales_order_shipment_information (IngramMicro::SalesOrderShipmentInformation" if options[:shipment_information]
|
60
|
+
raise "use sales_order_header (IngramMicro::SalesOrderHeader" if options[:order_header]
|
61
|
+
end
|
56
62
|
end
|
data/lib/ingram_micro/version.rb
CHANGED