mws-orders 0.2.2 → 0.3.0
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 +5 -5
- data/lib/mws/orders/collection.rb +2 -0
- data/lib/mws/orders/document.rb +2 -0
- data/lib/mws/orders/entity.rb +5 -3
- data/lib/mws/orders/invoice_data.rb +2 -0
- data/lib/mws/orders/order.rb +2 -0
- data/lib/mws/orders/order_item.rb +2 -0
- data/lib/mws/orders/order_items.rb +2 -0
- data/lib/mws/orders/orders.rb +2 -0
- data/lib/mws/orders/parser.rb +3 -1
- data/lib/mws/orders/payment_execution_detail.rb +5 -1
- data/lib/mws/orders/payment_execution_detail_item.rb +2 -0
- data/lib/mws/orders/service_status.rb +2 -0
- data/lib/mws/orders/service_status_message.rb +2 -0
- data/lib/mws/orders/shipping_address.rb +2 -0
- data/lib/mws/orders/tokenable.rb +3 -1
- data/lib/mws/orders/version.rb +3 -1
- data/lib/mws-orders.rb +2 -0
- data/test/integration/test_mws_orders.rb +2 -0
- data/test/mws/orders/test_entity.rb +18 -17
- data/test/mws/orders/test_order.rb +2 -0
- data/test/mws/orders/test_order_item.rb +2 -0
- data/test/mws/orders/test_order_items.rb +2 -0
- data/test/mws/orders/test_orders.rb +2 -0
- data/test/mws/orders/test_parser.rb +2 -0
- data/test/mws/orders/test_payment_execution_detail.rb +5 -1
- data/test/mws/orders/test_payment_execution_detail_item.rb +5 -1
- data/test/mws/orders/test_service_status.rb +5 -1
- data/test/mws/orders/test_service_status_message.rb +2 -0
- data/test/mws/orders/test_shipping_address.rb +2 -0
- data/test/mws/orders/test_tokenable.rb +6 -4
- data/test/test_helper.rb +10 -6
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8a053556ba512ddb90a000741d9e1e3b243ac37b15f3ce0827983e52996506e6
|
4
|
+
data.tar.gz: 8379ac232066da3a4d0d668361a8d610ffa975cba2598b31bdb3294579ebf0ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d814f02e115ed54126c089e9f7978609e4e37f710af9fe4a4b0afb57cec2fd9a0a36e40dcf1070f6a0cdb7db6e0922a368fa4d02496a291ea7cfd6d863f1d0cf
|
7
|
+
data.tar.gz: 6b9e133c1fd5fb86ee764c5ba89832622a6f17eb9edbca0eadad7d789ce480699344af4a6c3314251beb42e36fa62f7846bf73b51d652a359f25d628a075701d
|
data/lib/mws/orders/document.rb
CHANGED
data/lib/mws/orders/entity.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'cgi'
|
2
4
|
require 'time'
|
3
5
|
require 'money'
|
@@ -11,12 +13,12 @@ module MWS
|
|
11
13
|
|
12
14
|
def float_at_xpath(path)
|
13
15
|
text = text_at_xpath(path)
|
14
|
-
text
|
16
|
+
text&.to_f
|
15
17
|
end
|
16
18
|
|
17
19
|
def integer_at_xpath(path)
|
18
20
|
text = text_at_xpath(path)
|
19
|
-
text
|
21
|
+
text&.to_i
|
20
22
|
end
|
21
23
|
|
22
24
|
def money_at_xpath(path)
|
@@ -36,7 +38,7 @@ module MWS
|
|
36
38
|
|
37
39
|
def text_at_xpath(path)
|
38
40
|
node = xpath(path).first
|
39
|
-
node
|
41
|
+
node&.text&.strip
|
40
42
|
end
|
41
43
|
end
|
42
44
|
end
|
data/lib/mws/orders/order.rb
CHANGED
data/lib/mws/orders/orders.rb
CHANGED
data/lib/mws/orders/parser.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'nokogiri'
|
2
4
|
require 'mws/orders/orders'
|
3
5
|
require 'mws/orders/order_items'
|
@@ -11,7 +13,7 @@ module MWS
|
|
11
13
|
ORDERS = /ListOrders/
|
12
14
|
ORDER_ITEMS = /ListOrderItems/
|
13
15
|
|
14
|
-
def initialize(response,
|
16
|
+
def initialize(response, _encoding)
|
15
17
|
@response = response
|
16
18
|
end
|
17
19
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'mws/orders/collection'
|
2
4
|
require 'mws/orders/payment_execution_detail_item'
|
3
5
|
|
@@ -5,7 +7,9 @@ module MWS
|
|
5
7
|
module Orders
|
6
8
|
class PaymentExecutionDetail < Collection
|
7
9
|
def each
|
8
|
-
xpath('PaymentExecutionDetailItem').each
|
10
|
+
xpath('PaymentExecutionDetailItem').each do |node|
|
11
|
+
yield PaymentExecutionDetailItem.new(node)
|
12
|
+
end
|
9
13
|
end
|
10
14
|
end
|
11
15
|
end
|
data/lib/mws/orders/tokenable.rb
CHANGED
data/lib/mws/orders/version.rb
CHANGED
data/lib/mws-orders.rb
CHANGED
@@ -1,44 +1,45 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'test_helper'
|
3
4
|
|
4
5
|
class TestEntity < MiniTest::Test
|
5
6
|
def test_parses_floats
|
6
|
-
xml = <<-
|
7
|
+
xml = <<-XML
|
7
8
|
<Float xmlns="example">10.0</Float>
|
8
|
-
|
9
|
+
XML
|
9
10
|
entity = build_entity(xml)
|
10
11
|
float = entity.float_at_xpath('Float')
|
11
12
|
assert_equal 10.0, float
|
12
13
|
end
|
13
14
|
|
14
15
|
def test_parses_integers
|
15
|
-
xml = <<-
|
16
|
+
xml = <<-XML
|
16
17
|
<Integer xmlns="example">10</Integer>
|
17
|
-
|
18
|
+
XML
|
18
19
|
entity = build_entity(xml)
|
19
20
|
integer = entity.integer_at_xpath('Integer')
|
20
21
|
assert_equal 10, integer
|
21
22
|
end
|
22
23
|
|
23
24
|
def test_parses_money
|
24
|
-
xml = <<-
|
25
|
+
xml = <<-XML
|
25
26
|
<Price xmlns="example">
|
26
27
|
<CurrencyCode>USD</CurrencyCode>
|
27
28
|
<Amount>10.00</Amount>
|
28
29
|
</Price>
|
29
|
-
|
30
|
+
XML
|
30
31
|
entity = build_entity(xml)
|
31
32
|
money = entity.money_at_xpath('Price')
|
32
33
|
assert_equal '$10.00', money.format
|
33
34
|
end
|
34
35
|
|
35
36
|
def test_parses_japanese_yen
|
36
|
-
xml = <<-
|
37
|
+
xml = <<-XML
|
37
38
|
<Price xmlns="example">
|
38
39
|
<CurrencyCode>JPY</CurrencyCode>
|
39
40
|
<Amount>1000.00</Amount>
|
40
41
|
</Price>
|
41
|
-
|
42
|
+
XML
|
42
43
|
entity = build_entity(xml)
|
43
44
|
money = entity.money_at_xpath('Price')
|
44
45
|
|
@@ -46,39 +47,39 @@ class TestEntity < MiniTest::Test
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def test_parses_text
|
49
|
-
xml = <<-
|
50
|
+
xml = <<-XML
|
50
51
|
<Text xmlns="example">Foo</Text>
|
51
|
-
|
52
|
+
XML
|
52
53
|
entity = build_entity(xml)
|
53
54
|
text = entity.text_at_xpath('Text')
|
54
55
|
assert_equal 'Foo', text
|
55
56
|
end
|
56
57
|
|
57
58
|
def test_strips_text
|
58
|
-
xml = <<-
|
59
|
+
xml = <<-XML
|
59
60
|
<Text xmlns="example">Foo
|
60
61
|
|
61
62
|
</Text>
|
62
|
-
|
63
|
+
XML
|
63
64
|
entity = build_entity(xml)
|
64
65
|
text = entity.text_at_xpath('Text')
|
65
66
|
assert_equal 'Foo', text
|
66
67
|
end
|
67
68
|
|
68
69
|
def test_parses_time
|
69
|
-
xml = <<-
|
70
|
+
xml = <<-XML
|
70
71
|
<Time xmlns="example">2013-01-01T01:30:00.000-06:00</Time>
|
71
|
-
|
72
|
+
XML
|
72
73
|
entity = build_entity(xml)
|
73
74
|
time = entity.time_at_xpath('Time')
|
74
75
|
assert_kind_of Time, time
|
75
76
|
end
|
76
77
|
|
77
78
|
def test_handles_nil_values
|
78
|
-
xml = <<-
|
79
|
+
xml = <<-XML
|
79
80
|
<Foo xmlns="example">
|
80
81
|
</Foo>
|
81
|
-
|
82
|
+
XML
|
82
83
|
entity = build_entity(xml)
|
83
84
|
|
84
85
|
assert_nil entity.float_at_xpath('Bar')
|
@@ -1,8 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
|
3
5
|
class TestPaymentExecutionDetail < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_xml_fixture('orders').xpath('//xmlns:PaymentExecutionDetail')
|
9
|
+
.first
|
6
10
|
@ped = PaymentExecutionDetail.new(node)
|
7
11
|
end
|
8
12
|
|
@@ -1,8 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
|
3
5
|
class TestPaymentExecutionDetailItem < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_xml_fixture('orders').xpath('//xmlns:PaymentExecutionDetailItem')
|
9
|
+
.first
|
6
10
|
@pedi = PaymentExecutionDetailItem.new(node)
|
7
11
|
end
|
8
12
|
|
@@ -1,8 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
|
3
5
|
class TestServiceStatus < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_xml_fixture('service_status').xpath('//xmlns:GetServiceStatusResult')
|
9
|
+
.first
|
6
10
|
@status = ServiceStatus.new(node)
|
7
11
|
end
|
8
12
|
|
@@ -1,19 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
|
3
5
|
class TestTokenable < MiniTest::Test
|
4
6
|
def test_parses_next_token
|
5
|
-
xml = <<-
|
7
|
+
xml = <<-XML
|
6
8
|
<NextToken xmlns="example">123</NextToken>
|
7
|
-
|
9
|
+
XML
|
8
10
|
tokenable = build_tokenable(xml)
|
9
11
|
|
10
12
|
assert_equal '123', tokenable.next_token
|
11
13
|
end
|
12
14
|
|
13
15
|
def test_returns_nil_if_next_token_is_not_present
|
14
|
-
xml = <<-
|
16
|
+
xml = <<-XML
|
15
17
|
<Foo xmlns="example"/>
|
16
|
-
|
18
|
+
XML
|
17
19
|
tokenable = build_tokenable(xml)
|
18
20
|
|
19
21
|
refute tokenable.next_token
|
data/test/test_helper.rb
CHANGED
@@ -1,16 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'minitest/autorun'
|
2
4
|
require 'pry'
|
3
5
|
require 'mws-orders'
|
4
6
|
|
5
7
|
I18n.enforce_available_locales = false
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
+
module MiniTest
|
10
|
+
class Test
|
11
|
+
include MWS::Orders
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
+
def load_xml_fixture(type)
|
14
|
+
file = File.expand_path("../fixtures/#{type}.xml", __FILE__)
|
15
|
+
body = File.read(file)
|
13
16
|
|
14
|
-
|
17
|
+
Nokogiri(body)
|
18
|
+
end
|
15
19
|
end
|
16
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mws-orders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hakan Ensari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: money
|
@@ -42,33 +42,33 @@ dependencies:
|
|
42
42
|
name: peddler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: structure
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.0
|
61
|
+
version: '1.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.0
|
68
|
+
version: '1.0'
|
69
69
|
description: A rich Ruby interface to the Amazon MWS Orders API
|
70
70
|
email:
|
71
|
-
-
|
71
|
+
- hakanensari@gmail.com
|
72
72
|
executables: []
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
@@ -109,7 +109,7 @@ files:
|
|
109
109
|
- test/mws/orders/test_shipping_address.rb
|
110
110
|
- test/mws/orders/test_tokenable.rb
|
111
111
|
- test/test_helper.rb
|
112
|
-
homepage:
|
112
|
+
homepage: https://github.com/hakanensari/mws-orders
|
113
113
|
licenses:
|
114
114
|
- MIT
|
115
115
|
metadata: {}
|
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '2.3'
|
125
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
@@ -129,25 +129,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
129
|
version: '0'
|
130
130
|
requirements: []
|
131
131
|
rubyforge_project:
|
132
|
-
rubygems_version: 2.6
|
132
|
+
rubygems_version: 2.7.6
|
133
133
|
signing_key:
|
134
134
|
specification_version: 4
|
135
135
|
summary: Wraps the Amazon MWS Orders API
|
136
136
|
test_files:
|
137
|
-
- test/fixtures/order_items.xml
|
138
|
-
- test/fixtures/orders.xml
|
139
|
-
- test/fixtures/service_status.xml
|
140
137
|
- test/integration/test_mws_orders.rb
|
141
|
-
- test/mws/orders/test_entity.rb
|
142
|
-
- test/mws/orders/test_order.rb
|
143
|
-
- test/mws/orders/test_order_item.rb
|
144
|
-
- test/mws/orders/test_order_items.rb
|
145
138
|
- test/mws/orders/test_orders.rb
|
146
|
-
- test/mws/orders/test_parser.rb
|
147
|
-
- test/mws/orders/test_payment_execution_detail.rb
|
148
|
-
- test/mws/orders/test_payment_execution_detail_item.rb
|
149
|
-
- test/mws/orders/test_service_status.rb
|
150
139
|
- test/mws/orders/test_service_status_message.rb
|
140
|
+
- test/mws/orders/test_order.rb
|
141
|
+
- test/mws/orders/test_service_status.rb
|
151
142
|
- test/mws/orders/test_shipping_address.rb
|
152
143
|
- test/mws/orders/test_tokenable.rb
|
144
|
+
- test/mws/orders/test_payment_execution_detail_item.rb
|
145
|
+
- test/mws/orders/test_order_items.rb
|
146
|
+
- test/mws/orders/test_entity.rb
|
147
|
+
- test/mws/orders/test_payment_execution_detail.rb
|
148
|
+
- test/mws/orders/test_parser.rb
|
149
|
+
- test/mws/orders/test_order_item.rb
|
150
|
+
- test/fixtures/order_items.xml
|
151
|
+
- test/fixtures/service_status.xml
|
152
|
+
- test/fixtures/orders.xml
|
153
153
|
- test/test_helper.rb
|