ruby_omx 0.0.29 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- 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
|