ruby_omx 0.0.29 → 0.0.30
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.
- data/lib/ruby_omx/orders.rb +19 -0
- data/lib/ruby_omx/response/order_info_response.rb +1 -26
- data/lib/ruby_omx/response.rb +2 -2
- data/lib/ruby_omx/version.rb +1 -1
- data/test/orders_test.rb +2 -1
- data/test/real_test.rb +13 -0
- metadata +2 -2
data/lib/ruby_omx/orders.rb
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
module RubyOmx
|
2
2
|
module Orders
|
3
3
|
|
4
|
+
# Status mapping
|
5
|
+
FULFILL_STATUS = {
|
6
|
+
'0'=>'pending',
|
7
|
+
'2'=>'clearing',
|
8
|
+
'3'=>'backordered',
|
9
|
+
'5'=>'on hold',
|
10
|
+
'8'=>'held-to-complete',
|
11
|
+
'20'=>'backordered',
|
12
|
+
'28'=>'held-to-complete',
|
13
|
+
'30'=>'warehouse',
|
14
|
+
'40'=>'shipped',
|
15
|
+
'50'=>'returned',
|
16
|
+
'52'=>'pending returned',
|
17
|
+
'90'=>'cancelled',
|
18
|
+
'95'=>'auto-cancelled',
|
19
|
+
'96'=>'voided shipment'
|
20
|
+
}
|
21
|
+
BACKORDER_STATUS = [ '3', '20' ]
|
22
|
+
|
4
23
|
# Universal Direct Order Appending (UDOA)
|
5
24
|
|
6
25
|
def build_udoa_request(attrs={})
|
@@ -2,35 +2,10 @@
|
|
2
2
|
|
3
3
|
module RubyOmx
|
4
4
|
|
5
|
-
#class OrderInfoLineStatus < Node
|
6
|
-
# xml_name "LineStatus"
|
7
|
-
#<LineStatus date="2/9/2006 2:47:00 PM" text="OK">40</LineStatus>
|
8
|
-
# xml_reader :text, :from => '@text' # C/L means cancelled, OK with a date means processing
|
9
|
-
# xml_reader :date, :from => "@date" # reverting to string as date is invalid, cancellation date if cancelled, processing date if processing
|
10
|
-
# xml_reader :value, :from => :content, :as=>Integer
|
11
|
-
#end
|
12
|
-
|
13
|
-
#class OrderInfoLineItem < Node
|
14
|
-
# xml_name "LineItem"
|
15
|
-
# xml_reader :item_code
|
16
|
-
# xml_reader :product_name
|
17
|
-
# xml_reader :quantity
|
18
|
-
# xml_reader :price
|
19
|
-
# xml_reader :line_status, :as=>OrderInfoLineStatus
|
20
|
-
|
21
|
-
# xml_reader :warehouse_reference
|
22
|
-
# xml_reader :tracking_number
|
23
|
-
|
24
|
-
# xml_reader :shipment_number
|
25
|
-
# xml_reader :line_cogs, :from=>'LineCOGS', :as=>Float
|
26
|
-
# xml_reader :unit_cogs, :from=>'UnitCOGS', :as=>Float
|
27
|
-
# xml_reader :supplier_item_code
|
28
|
-
#end
|
29
|
-
|
30
5
|
class OrderInfoResponse < StandardResponse
|
31
6
|
xml_name "OrderInformationResponse"
|
32
7
|
|
33
|
-
xml_reader :order_id, :in=>'OrderHeader'
|
8
|
+
xml_reader :order_id, :in=>'OrderHeader', :from=>'OrderID'
|
34
9
|
xml_reader :order_number, :in=>'OrderHeader'
|
35
10
|
xml_reader :order_status_code, :from => '@statusCode', :in=>'OrderHeader/OrderStatus'
|
36
11
|
xml_reader :order_status_date, :as=>DateTime, :in=>'OrderHeader'
|
data/lib/ruby_omx/response.rb
CHANGED
@@ -56,8 +56,8 @@ module RubyOmx
|
|
56
56
|
xml_accessor :line_number, :from => '@lineNumber'
|
57
57
|
xml_accessor :item_code
|
58
58
|
xml_accessor :quantity, :as => Integer
|
59
|
-
xml_accessor :unit_price
|
60
|
-
xml_accessor :price
|
59
|
+
xml_accessor :unit_price
|
60
|
+
xml_accessor :price
|
61
61
|
xml_accessor :update_standard_price # default to 'False'
|
62
62
|
xml_accessor :cancel_line
|
63
63
|
|
data/lib/ruby_omx/version.rb
CHANGED
data/test/orders_test.rb
CHANGED
@@ -192,6 +192,7 @@ class OrdersTest < MiniTest::Unit::TestCase
|
|
192
192
|
response = @connection.send_info_request({ :order_number => '16651', :version=>'1.00' })
|
193
193
|
assert_kind_of OrderInfoResponse, response
|
194
194
|
|
195
|
+
assert_equal 'ABCD-1234', response.order_id
|
195
196
|
assert_equal DateTime.parse('2006-02-09 14:47:00'), response.ship_date
|
196
197
|
assert_equal '11229', response.customer_number
|
197
198
|
assert_equal "", response.tracking_number
|
@@ -239,7 +240,7 @@ class OrdersTest < MiniTest::Unit::TestCase
|
|
239
240
|
assert_nil response.ship_date
|
240
241
|
assert_equal "", response.tracking_number
|
241
242
|
|
242
|
-
|
243
|
+
assert_equal 'XYZ-123', response.order_id
|
243
244
|
assert_equal '24603', response.order_number
|
244
245
|
assert_equal DateTime.parse('2003-04-01 22:15:00'), response.order_date
|
245
246
|
assert_equal DateTime.parse('2010-05-31 05:36:00'), response.order_status_date
|
data/test/real_test.rb
CHANGED
@@ -98,7 +98,20 @@ class RealTestTest < MiniTest::Unit::TestCase
|
|
98
98
|
puts response.to_xml.to_s
|
99
99
|
assert_kind_of OrderInfoResponse, response
|
100
100
|
end
|
101
|
+
=end
|
102
|
+
|
103
|
+
def test_real_order_info2
|
104
|
+
order_info_data = { :order_number => '188555' }
|
105
|
+
r = @connection.build_info_request(order_info_data)
|
106
|
+
assert_instance_of String, r.to_xml.to_s
|
107
|
+
puts r.to_xml.to_s
|
101
108
|
|
109
|
+
response = @connection.send_info_request(order_info_data)
|
110
|
+
puts response.to_xml.to_s
|
111
|
+
assert_kind_of OrderInfoResponse, response
|
112
|
+
end
|
113
|
+
|
114
|
+
=begin
|
102
115
|
def test_real_inventory_info
|
103
116
|
inventory_info_data = { :items => [ {:item_code=>'14141103-021-XL'}, {:item_code=>'14341104-021-XL'}] }
|
104
117
|
r = @connection.build_inventory_info_request(inventory_info_data)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_omx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.30
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: roxml
|