peddler 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +237 -8
- data/lib/mws/feeds.rb +1 -0
- data/lib/mws/feeds/client.rb +97 -0
- data/lib/mws/feeds/parsers/feed.rb +14 -0
- data/lib/mws/feeds/parsers/feed_submission.rb +25 -0
- data/lib/mws/feeds/parsers/feed_submission_count.rb +13 -0
- data/lib/mws/feeds/parsers/feed_submission_list.rb +20 -0
- data/lib/mws/feeds/parsers/feed_submission_result.rb +10 -0
- data/lib/mws/feeds/parsers/feed_submissions.rb +18 -0
- data/lib/mws/feeds/requests/feed.rb +38 -0
- data/lib/mws/feeds/requests/feed_submission_count.rb +20 -0
- data/lib/mws/feeds/requests/feed_submission_list.rb +28 -0
- data/lib/mws/feeds/requests/feed_submission_result.rb +18 -0
- data/lib/mws/feeds/requests/feed_submissions.rb +20 -0
- data/lib/mws/fulfillment_inbound_shipment/client.rb +7 -0
- data/lib/mws/fulfillment_inventory/client.rb +7 -0
- data/lib/mws/fulfillment_outbound_shipment/client.rb +7 -0
- data/lib/mws/off_amazon_payments/client.rb +7 -0
- data/lib/mws/orders.rb +1 -0
- data/lib/mws/orders/client.rb +88 -0
- data/lib/mws/orders/parsers/invoice_data.rb +25 -0
- data/lib/mws/orders/parsers/order.rb +113 -0
- data/lib/mws/orders/parsers/order_item.rb +110 -0
- data/lib/mws/orders/parsers/order_items.rb +20 -0
- data/lib/mws/orders/parsers/orders.rb +20 -0
- data/lib/mws/orders/parsers/payment_execution_detail.rb +20 -0
- data/lib/mws/orders/parsers/payment_execution_detail_item.rb +17 -0
- data/lib/mws/orders/parsers/service_status.rb +36 -0
- data/lib/mws/orders/parsers/service_status_message.rb +17 -0
- data/lib/mws/orders/parsers/shipping_address.rb +37 -0
- data/lib/mws/orders/requests/order_items.rb +26 -0
- data/lib/mws/orders/requests/orders.rb +39 -0
- data/lib/mws/orders/requests/service_status.rb +15 -0
- data/lib/mws/products/client.rb +7 -0
- data/lib/mws/recommendations/client.rb +7 -0
- data/lib/mws/reports/client.rb +6 -0
- data/lib/mws/sellers/client.rb +7 -0
- data/lib/mws/subscriptions/client.rb +7 -0
- data/lib/peddler.rb +11 -1
- data/lib/peddler/client.rb +62 -0
- data/lib/peddler/parsers/base.rb +15 -0
- data/lib/peddler/parsers/collection.rb +23 -0
- data/lib/peddler/parsers/model.rb +43 -0
- data/lib/peddler/parsers/text.rb +13 -0
- data/lib/peddler/parsers/xml.rb +25 -0
- data/lib/peddler/request.rb +50 -0
- data/lib/peddler/request/parameters.rb +56 -0
- data/lib/peddler/request/structured_list.rb +43 -0
- data/lib/peddler/response_wrapper.rb +32 -0
- data/lib/peddler/version.rb +1 -1
- data/test/fixtures/feeds/feed_submission.xml +14 -0
- data/test/fixtures/feeds/feed_submission_count.xml +9 -0
- data/test/fixtures/feeds/feed_submission_list.xml +17 -0
- data/test/fixtures/feeds/feed_submissions.xml +15 -0
- data/test/fixtures/mws.yml +8 -0
- data/test/fixtures/mws.yml.example +4 -0
- data/test/fixtures/orders/order_items.xml +83 -0
- data/test/fixtures/orders/orders.xml +109 -0
- data/test/fixtures/orders/service_status.xml +19 -0
- data/test/helper.rb +5 -0
- data/test/integration/feeds/test_feed_submission_count.rb +13 -0
- data/test/integration/feeds/test_feed_submission_list.rb +15 -0
- data/test/integration/feeds/test_feed_submission_result.rb +15 -0
- data/test/integration/orders/test_order_items.rb +19 -0
- data/test/integration/orders/test_orders.rb +20 -0
- data/test/integration/orders/test_service_status.rb +12 -0
- data/test/integration_helper.rb +16 -0
- data/test/mws/feeds/parsers/test_feed.rb +13 -0
- data/test/mws/feeds/parsers/test_feed_submission.rb +25 -0
- data/test/mws/feeds/parsers/test_feed_submission_count.rb +13 -0
- data/test/mws/feeds/parsers/test_feed_submission_list.rb +14 -0
- data/test/mws/feeds/parsers/test_feed_submission_result.rb +13 -0
- data/test/mws/feeds/parsers/test_feed_submissions.rb +17 -0
- data/test/mws/feeds/requests/test_feed.rb +63 -0
- data/test/mws/feeds/requests/test_feed_submission_count.rb +23 -0
- data/test/mws/feeds/requests/test_feed_submission_list.rb +40 -0
- data/test/mws/feeds/requests/test_feed_submissions.rb +29 -0
- data/test/mws/orders/parsers/test_order.rb +86 -0
- data/test/mws/orders/parsers/test_order_item.rb +69 -0
- data/test/mws/orders/parsers/test_order_items.rb +14 -0
- data/test/mws/orders/parsers/test_orders.rb +14 -0
- data/test/mws/orders/parsers/test_payment_execution_detail.rb +14 -0
- data/test/mws/orders/parsers/test_payment_execution_detail_item.rb +17 -0
- data/test/mws/orders/parsers/test_service_status.rb +39 -0
- data/test/mws/orders/parsers/test_service_status_message.rb +17 -0
- data/test/mws/orders/parsers/test_shipping_address.rb +36 -0
- data/test/mws/orders/requests/test_order_items.rb +39 -0
- data/test/mws/orders/requests/test_orders.rb +49 -0
- data/test/mws/orders/requests/test_service_status.rb +25 -0
- data/test/parser_helper.rb +11 -0
- data/test/peddler/parsers/test_collection.rb +8 -0
- data/test/peddler/parsers/test_model.rb +34 -0
- data/test/peddler/request/test_parameters.rb +35 -0
- data/test/peddler/request/test_structured_list.rb +18 -0
- data/test/peddler/test_client.rb +42 -0
- data/test/request_helper.rb +20 -0
- metadata +213 -10
- data/lib/peddler/apis.rb +0 -45
- data/lib/peddler/service.rb +0 -83
- data/test/service_test.rb +0 -42
- data/test/test_helper.rb +0 -3
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'peddler/parsers/model'
|
2
|
+
require 'mws/feeds/parsers/feed_submission'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Parsers
|
7
|
+
class FeedSubmissions < ::Peddler::Parsers::Model
|
8
|
+
value :count do
|
9
|
+
integer_at_xpath('Count')
|
10
|
+
end
|
11
|
+
|
12
|
+
def feed_submissions
|
13
|
+
xpath('FeedSubmissionInfo').map { |node| FeedSubmission.new(node) }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'peddler/request'
|
2
|
+
require 'mws/feeds/parsers/feed'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Requests
|
7
|
+
class Feed < ::Peddler::Request
|
8
|
+
def submit(content, type, options = {})
|
9
|
+
self.body = content
|
10
|
+
set_content_type
|
11
|
+
parameters(:submit_feed)
|
12
|
+
.update(feed_type: type)
|
13
|
+
.update(options)
|
14
|
+
.format_structured_lists!
|
15
|
+
.camelize_keys!
|
16
|
+
|
17
|
+
execute
|
18
|
+
end
|
19
|
+
|
20
|
+
def set_content_type
|
21
|
+
headers['Content-Type'] =
|
22
|
+
if body.start_with?('<?xml')
|
23
|
+
'text/xml; charset=ISO-8859-1'
|
24
|
+
else
|
25
|
+
case client.default_country
|
26
|
+
when 'JP'
|
27
|
+
'text/tab-separated-values; charset=Shift_JIS'
|
28
|
+
when 'CN'
|
29
|
+
'text/tab-separated-values; charset=UTF-16'
|
30
|
+
else
|
31
|
+
'text/tab-separated-values; charset=ISO-8859-1'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'peddler/request'
|
2
|
+
require 'mws/feeds/parsers/feed_submission_count'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Requests
|
7
|
+
class FeedSubmissionCount < ::Peddler::Request
|
8
|
+
def get(options = {})
|
9
|
+
parameters(:get_feed_submission_count)
|
10
|
+
.update(options)
|
11
|
+
.timestamp!
|
12
|
+
.format_structured_lists!
|
13
|
+
.camelize_keys!
|
14
|
+
|
15
|
+
execute
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'peddler/request'
|
2
|
+
require 'mws/feeds/parsers/feed_submission_list'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Requests
|
7
|
+
class FeedSubmissionList < ::Peddler::Request
|
8
|
+
def get(options = {})
|
9
|
+
parameters(:get_feed_submission_list)
|
10
|
+
.update(options)
|
11
|
+
.timestamp!
|
12
|
+
.format_structured_lists!
|
13
|
+
.camelize_keys!
|
14
|
+
|
15
|
+
execute
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_by_next_token
|
19
|
+
parameters(:get_feed_submission_list_by_next_token)
|
20
|
+
.update(next_token: next_token)
|
21
|
+
.camelize_keys!
|
22
|
+
|
23
|
+
execute
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'peddler/request'
|
2
|
+
require 'mws/feeds/parsers/feed_submission_result'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Requests
|
7
|
+
class FeedSubmissionResult < ::Peddler::Request
|
8
|
+
def get(feed_submission_id)
|
9
|
+
parameters(:get_feed_submission_result)
|
10
|
+
.update(feed_submission_id: feed_submission_id)
|
11
|
+
.camelize_keys!
|
12
|
+
|
13
|
+
execute
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'peddler/request'
|
2
|
+
require 'mws/feeds/parsers/feed_submissions'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Feeds
|
6
|
+
module Requests
|
7
|
+
class FeedSubmissions < ::Peddler::Request
|
8
|
+
def cancel(options = {})
|
9
|
+
parameters(:cancel_feed_submissions)
|
10
|
+
.update(options)
|
11
|
+
.timestamp!
|
12
|
+
.format_structured_lists!
|
13
|
+
.camelize_keys!
|
14
|
+
|
15
|
+
execute
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/mws/orders.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'mws/orders/client'
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'mws/orders/requests/orders'
|
2
|
+
require 'mws/orders/requests/order_items'
|
3
|
+
require 'mws/orders/requests/service_status'
|
4
|
+
require 'peddler/client'
|
5
|
+
|
6
|
+
module MWS
|
7
|
+
module Orders
|
8
|
+
class Client < ::Peddler::Client
|
9
|
+
path 'Orders/2011-01-01'
|
10
|
+
|
11
|
+
# Public: Get one or more orders.
|
12
|
+
#
|
13
|
+
# amazon_order_ids - One or more String Amazon order ids.
|
14
|
+
#
|
15
|
+
# Examples
|
16
|
+
#
|
17
|
+
# client.get_order('123-1234567-1234567')
|
18
|
+
#
|
19
|
+
# Returns an enumerable list of Orders.
|
20
|
+
def_delegator :orders, :get, :get_order
|
21
|
+
|
22
|
+
# Public: List orders created or updated during a specified time frame.
|
23
|
+
#
|
24
|
+
# options - The Hash query parameters used to narrow the list. Refer to
|
25
|
+
# the MWS Orders API for available parameters.
|
26
|
+
#
|
27
|
+
# Examples
|
28
|
+
#
|
29
|
+
# client.list_orders(created_after: 1.week.ago)
|
30
|
+
#
|
31
|
+
# Returns an enumerable list of Orders.
|
32
|
+
def_delegator :orders, :list, :list_orders
|
33
|
+
|
34
|
+
# Public: List the next page of orders using the NextToken parameter.
|
35
|
+
#
|
36
|
+
# Examples
|
37
|
+
#
|
38
|
+
# client.list_orders_by_next_token
|
39
|
+
#
|
40
|
+
# Returns an enumerable list of Orders.
|
41
|
+
def_delegator :orders, :list_by_next_token, :list_orders_by_next_token
|
42
|
+
|
43
|
+
# Public: List order items for an amazon order.
|
44
|
+
#
|
45
|
+
# amazon_order_id - The String Amazon order id.
|
46
|
+
#
|
47
|
+
# Examples
|
48
|
+
#
|
49
|
+
# client.list_order_items('123-1234567-1234567')
|
50
|
+
#
|
51
|
+
# Returns an enumerable list of Order Items.
|
52
|
+
def_delegator :order_items, :list, :list_order_items
|
53
|
+
|
54
|
+
# Public: List the next page of order items using the NextToken
|
55
|
+
# parameter.
|
56
|
+
#
|
57
|
+
# Examples
|
58
|
+
#
|
59
|
+
# client.list_order_items_by_next_token
|
60
|
+
#
|
61
|
+
# Returns an enumerable list of Order Items.
|
62
|
+
def_delegator :order_items, :list_by_next_token, :list_order_items_by_next_token
|
63
|
+
|
64
|
+
# Public: Get the service status of the API.
|
65
|
+
#
|
66
|
+
# Examples
|
67
|
+
#
|
68
|
+
# client.get_service_status
|
69
|
+
#
|
70
|
+
# Returns the Service Status.
|
71
|
+
def_delegator :service_status, :get, :get_service_status
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def orders
|
76
|
+
@orders ||= Requests::Orders.new(self)
|
77
|
+
end
|
78
|
+
|
79
|
+
def order_items
|
80
|
+
@order_items ||= Requests::OrderItems.new(self)
|
81
|
+
end
|
82
|
+
|
83
|
+
def service_status
|
84
|
+
@service_status ||= Requests::ServiceStatus.new(self)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'peddler/parsers/model'
|
2
|
+
|
3
|
+
module MWS
|
4
|
+
module Orders
|
5
|
+
module Parser
|
6
|
+
class InvoiceData < ::Peddler::Parsers::Model
|
7
|
+
value :invoice_requirement do
|
8
|
+
text_at_xpath('InvoiceRequirement')
|
9
|
+
end
|
10
|
+
|
11
|
+
value :buyer_selected_invoice_category do
|
12
|
+
text_at_xpath('BuyerSelectedInvoiceCategory')
|
13
|
+
end
|
14
|
+
|
15
|
+
value :invoice_title do
|
16
|
+
text_at_xpath('InvoiceTitle')
|
17
|
+
end
|
18
|
+
|
19
|
+
value :invoice_information do
|
20
|
+
text_at_xpath('InvoiceInformation')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'mws/orders/parsers/shipping_address'
|
2
|
+
require 'mws/orders/parsers/payment_execution_detail'
|
3
|
+
require 'peddler/parsers/model'
|
4
|
+
|
5
|
+
module MWS
|
6
|
+
module Orders
|
7
|
+
module Parsers
|
8
|
+
class Order < ::Peddler::Parsers::Model
|
9
|
+
value :amazon_order_id do
|
10
|
+
text_at_xpath('AmazonOrderId')
|
11
|
+
end
|
12
|
+
|
13
|
+
value :seller_order_id do
|
14
|
+
text_at_xpath('SellerOrderId')
|
15
|
+
end
|
16
|
+
|
17
|
+
value :purchased_at do
|
18
|
+
time_at_xpath('PurchaseDate')
|
19
|
+
end
|
20
|
+
|
21
|
+
value :last_updated_at do
|
22
|
+
time_at_xpath('LastUpdateDate')
|
23
|
+
end
|
24
|
+
|
25
|
+
value :status do
|
26
|
+
text_at_xpath('OrderStatus')
|
27
|
+
end
|
28
|
+
|
29
|
+
value :fulfillment_channel do
|
30
|
+
text_at_xpath('FulfillmentChannel')
|
31
|
+
end
|
32
|
+
|
33
|
+
value :sales_channel do
|
34
|
+
text_at_xpath('SalesChannel')
|
35
|
+
end
|
36
|
+
|
37
|
+
value :order_channel do
|
38
|
+
text_at_xpath('OrderChannel')
|
39
|
+
end
|
40
|
+
|
41
|
+
value :ship_service_level do
|
42
|
+
text_at_xpath('ShipServiceLevel')
|
43
|
+
end
|
44
|
+
|
45
|
+
value :shipping_address do
|
46
|
+
node = at_xpath('ShippingAddress')
|
47
|
+
ShippingAddress.new(node) if node
|
48
|
+
end
|
49
|
+
|
50
|
+
value :total do
|
51
|
+
money_at_xpath('OrderTotal')
|
52
|
+
end
|
53
|
+
|
54
|
+
value :number_of_items_shipped do
|
55
|
+
integer_at_xpath('NumberOfItemsShipped')
|
56
|
+
end
|
57
|
+
|
58
|
+
value :number_of_items_unshipped do
|
59
|
+
integer_at_xpath('NumberOfItemsUnshipped')
|
60
|
+
end
|
61
|
+
|
62
|
+
value :payment_execution_detail do
|
63
|
+
node = at_xpath('PaymentExecutionDetail')
|
64
|
+
PaymentExecutionDetail.new(node) if node
|
65
|
+
end
|
66
|
+
|
67
|
+
value :payment_method do
|
68
|
+
text_at_xpath('PaymentMethod')
|
69
|
+
end
|
70
|
+
|
71
|
+
value :marketplace_id do
|
72
|
+
text_at_xpath('MarketplaceId')
|
73
|
+
end
|
74
|
+
|
75
|
+
value :buyer_name do
|
76
|
+
text_at_xpath('BuyerName')
|
77
|
+
end
|
78
|
+
|
79
|
+
value :buyer_email do
|
80
|
+
text_at_xpath('BuyerEmail')
|
81
|
+
end
|
82
|
+
|
83
|
+
value :shipment_service_level_category do
|
84
|
+
text_at_xpath('ShipmentServiceLevelCategory')
|
85
|
+
end
|
86
|
+
|
87
|
+
value :cba_displayable_shipping_label do
|
88
|
+
text_at_xpath('CbaDisplayableShippingLabel')
|
89
|
+
end
|
90
|
+
|
91
|
+
value :shipped_by_amazon_tfm do
|
92
|
+
text_at_xpath('ShippedByAmazonTFM')
|
93
|
+
end
|
94
|
+
|
95
|
+
value :tfm_shipment_status do
|
96
|
+
text_at_xpath('TFMShipmentStatus')
|
97
|
+
end
|
98
|
+
|
99
|
+
value :type do
|
100
|
+
text_at_xpath('OrderType')
|
101
|
+
end
|
102
|
+
|
103
|
+
value :earliest_shipped_at do
|
104
|
+
time_at_xpath('EarliestShipDate')
|
105
|
+
end
|
106
|
+
|
107
|
+
value :latest_shipped_at do
|
108
|
+
time_at_xpath('LatestShipDate')
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'mws/orders/parsers/invoice_data'
|
2
|
+
require 'peddler/parsers/model'
|
3
|
+
|
4
|
+
module MWS
|
5
|
+
module Orders
|
6
|
+
module Parsers
|
7
|
+
class OrderItem < ::Peddler::Parsers::Model
|
8
|
+
value :asin do
|
9
|
+
text_at_xpath('ASIN')
|
10
|
+
end
|
11
|
+
|
12
|
+
value :seller_sku do
|
13
|
+
text_at_xpath('SellerSKU')
|
14
|
+
end
|
15
|
+
|
16
|
+
value :order_item_id do
|
17
|
+
text_at_xpath('OrderItemId')
|
18
|
+
end
|
19
|
+
|
20
|
+
value :title do
|
21
|
+
text_at_xpath('Title')
|
22
|
+
end
|
23
|
+
|
24
|
+
value :quantity_ordered do
|
25
|
+
integer_at_xpath('QuantityOrdered')
|
26
|
+
end
|
27
|
+
|
28
|
+
value :quantity_shipped do
|
29
|
+
integer_at_xpath('QuantityShipped')
|
30
|
+
end
|
31
|
+
|
32
|
+
value :gift_message_text do
|
33
|
+
text_at_xpath('GiftMessageText')
|
34
|
+
end
|
35
|
+
|
36
|
+
value :gift_wrap_level do
|
37
|
+
text_at_xpath('GiftWrapLevel')
|
38
|
+
end
|
39
|
+
|
40
|
+
value :item_price do
|
41
|
+
money_at_xpath('ItemPrice')
|
42
|
+
end
|
43
|
+
|
44
|
+
value :shipping_price do
|
45
|
+
money_at_xpath('ShippingPrice')
|
46
|
+
end
|
47
|
+
|
48
|
+
value :gift_wrap_price do
|
49
|
+
money_at_xpath('GiftWrapPrice')
|
50
|
+
end
|
51
|
+
|
52
|
+
value :item_tax do
|
53
|
+
money_at_xpath('ItemTax')
|
54
|
+
end
|
55
|
+
|
56
|
+
value :shipping_tax do
|
57
|
+
money_at_xpath('ShippingTax')
|
58
|
+
end
|
59
|
+
|
60
|
+
value :gift_wrap_tax do
|
61
|
+
money_at_xpath('GiftWrapPrice')
|
62
|
+
end
|
63
|
+
|
64
|
+
value :shipping_discount do
|
65
|
+
money_at_xpath('ShippingDiscount')
|
66
|
+
end
|
67
|
+
|
68
|
+
value :promotion_discount do
|
69
|
+
money_at_xpath('PromotionDiscount')
|
70
|
+
end
|
71
|
+
|
72
|
+
value :promotion_ids do
|
73
|
+
xpath('PromotionId').map(&:text)
|
74
|
+
end
|
75
|
+
|
76
|
+
value :cod_fee do
|
77
|
+
money_at_xpath('CODFee')
|
78
|
+
end
|
79
|
+
|
80
|
+
value :cod_fee_discount do
|
81
|
+
money_at_xpath('CODFeeDiscount')
|
82
|
+
end
|
83
|
+
|
84
|
+
value :invoice_data do
|
85
|
+
xpath('InvoiceData').map { |node| InvoiceData.new(node) }
|
86
|
+
end
|
87
|
+
|
88
|
+
value :condition_id do
|
89
|
+
text_at_xpath('ConditionId')
|
90
|
+
end
|
91
|
+
|
92
|
+
value :condition_subtype_id do
|
93
|
+
text_at_xpath('ConditionSubtypeId')
|
94
|
+
end
|
95
|
+
|
96
|
+
value :condition_note do
|
97
|
+
text_at_xpath('ConditionNote')
|
98
|
+
end
|
99
|
+
|
100
|
+
value :scheduled_delivery_ends_at do
|
101
|
+
time_at_xpath('ScheduledDeliveryEndDate')
|
102
|
+
end
|
103
|
+
|
104
|
+
value :scheduled_delivery_starts_at do
|
105
|
+
time_at_xpath('ScheduledDeliveryStartDate')
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|