peddler 0.6.5 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +62 -81
  4. data/lib/mws/cart_information.rb +13 -0
  5. data/lib/mws/customer_information.rb +16 -0
  6. data/lib/mws/feeds.rb +110 -1
  7. data/lib/mws/fulfillment_inbound_shipment.rb +13 -1
  8. data/lib/mws/fulfillment_inventory.rb +15 -1
  9. data/lib/mws/fulfillment_outbound_shipment.rb +17 -1
  10. data/lib/mws/off_amazon_payments.rb +15 -1
  11. data/lib/mws/orders.rb +100 -1
  12. data/lib/mws/products.rb +238 -1
  13. data/lib/mws/recommendations.rb +13 -1
  14. data/lib/mws/reports.rb +221 -1
  15. data/lib/mws/sellers.rb +40 -1
  16. data/lib/mws/subscriptions.rb +175 -1
  17. data/lib/peddler/client.rb +77 -37
  18. data/lib/peddler/csv_parser.rb +42 -0
  19. data/lib/peddler/operation.rb +44 -0
  20. data/lib/peddler/parser.rb +21 -0
  21. data/lib/peddler/structured_list.rb +22 -0
  22. data/lib/peddler/version.rb +1 -1
  23. data/lib/peddler/xml_parser.rb +25 -0
  24. data/lib/peddler.rb +2 -0
  25. data/test/helper.rb +1 -1
  26. data/test/integration/test_feeds.rb +18 -0
  27. data/test/integration/test_orders.rb +22 -0
  28. data/test/integration/test_products.rb +53 -0
  29. data/test/integration/test_reports.rb +47 -0
  30. data/test/integration/test_sellers.rb +18 -0
  31. data/test/integration/test_subscriptions.rb +26 -0
  32. data/test/integration_helper.rb +41 -8
  33. data/test/mws.yml +32 -0
  34. data/test/mws.yml.example +4 -0
  35. data/test/unit/peddler/test_client.rb +97 -0
  36. data/test/unit/peddler/test_csv_parser.rb +24 -0
  37. data/test/unit/peddler/test_operation.rb +34 -0
  38. data/test/{peddler/request → unit/peddler}/test_structured_list.rb +5 -5
  39. data/test/unit/peddler/test_xml_parser.rb +19 -0
  40. data/test/{test_peddler.rb → unit/test_peddler.rb} +2 -2
  41. data/test/vcr_cassettes/Feeds.yml +695 -0
  42. data/test/vcr_cassettes/Orders.yml +29855 -0
  43. data/test/vcr_cassettes/Products.yml +8597 -0
  44. data/test/vcr_cassettes/Reports.yml +1881 -0
  45. data/test/vcr_cassettes/Sellers.yml +697 -0
  46. data/test/vcr_cassettes/Subscriptions.yml +1369 -0
  47. metadata +91 -297
  48. data/lib/mws/feeds/client.rb +0 -116
  49. data/lib/mws/feeds/parsers/feed.rb +0 -14
  50. data/lib/mws/feeds/parsers/feed_submission_count.rb +0 -10
  51. data/lib/mws/feeds/parsers/feed_submission_info.rb +0 -25
  52. data/lib/mws/feeds/parsers/feed_submission_list.rb +0 -23
  53. data/lib/mws/feeds/parsers/feed_submission_result.rb +0 -10
  54. data/lib/mws/feeds/parsers/feed_submissions.rb +0 -18
  55. data/lib/mws/feeds/requests/feed.rb +0 -38
  56. data/lib/mws/feeds/requests/feed_submission_count.rb +0 -20
  57. data/lib/mws/feeds/requests/feed_submission_list.rb +0 -30
  58. data/lib/mws/feeds/requests/feed_submission_result.rb +0 -18
  59. data/lib/mws/feeds/requests/feed_submissions.rb +0 -20
  60. data/lib/mws/fulfillment_inbound_shipment/client.rb +0 -7
  61. data/lib/mws/fulfillment_inventory/client.rb +0 -7
  62. data/lib/mws/fulfillment_outbound_shipment/client.rb +0 -7
  63. data/lib/mws/off_amazon_payments/client.rb +0 -7
  64. data/lib/mws/orders/client.rb +0 -98
  65. data/lib/mws/orders/parsers/invoice_data.rb +0 -25
  66. data/lib/mws/orders/parsers/order.rb +0 -113
  67. data/lib/mws/orders/parsers/order_item.rb +0 -110
  68. data/lib/mws/orders/parsers/order_items.rb +0 -23
  69. data/lib/mws/orders/parsers/orders.rb +0 -23
  70. data/lib/mws/orders/parsers/payment_execution_detail.rb +0 -20
  71. data/lib/mws/orders/parsers/payment_execution_detail_item.rb +0 -17
  72. data/lib/mws/orders/parsers/service_status.rb +0 -36
  73. data/lib/mws/orders/parsers/service_status_message.rb +0 -17
  74. data/lib/mws/orders/parsers/shipping_address.rb +0 -37
  75. data/lib/mws/orders/requests/order_items.rb +0 -28
  76. data/lib/mws/orders/requests/orders.rb +0 -41
  77. data/lib/mws/orders/requests/service_status.rb +0 -15
  78. data/lib/mws/products/client.rb +0 -7
  79. data/lib/mws/recommendations/client.rb +0 -7
  80. data/lib/mws/reports/client.rb +0 -249
  81. data/lib/mws/reports/parsers/report.rb +0 -10
  82. data/lib/mws/reports/parsers/report_acknowledgements.rb +0 -20
  83. data/lib/mws/reports/parsers/report_count.rb +0 -10
  84. data/lib/mws/reports/parsers/report_info.rb +0 -29
  85. data/lib/mws/reports/parsers/report_list.rb +0 -23
  86. data/lib/mws/reports/parsers/report_request.rb +0 -14
  87. data/lib/mws/reports/parsers/report_request_count.rb +0 -10
  88. data/lib/mws/reports/parsers/report_request_info.rb +0 -49
  89. data/lib/mws/reports/parsers/report_request_list.rb +0 -23
  90. data/lib/mws/reports/parsers/report_requests.rb +0 -18
  91. data/lib/mws/reports/parsers/report_schedule.rb +0 -21
  92. data/lib/mws/reports/parsers/report_schedule_count.rb +0 -10
  93. data/lib/mws/reports/parsers/report_schedule_list.rb +0 -23
  94. data/lib/mws/reports/parsers/report_scheduler.rb +0 -19
  95. data/lib/mws/reports/requests/report.rb +0 -18
  96. data/lib/mws/reports/requests/report_acknowledgements.rb +0 -27
  97. data/lib/mws/reports/requests/report_count.rb +0 -20
  98. data/lib/mws/reports/requests/report_list.rb +0 -30
  99. data/lib/mws/reports/requests/report_request.rb +0 -21
  100. data/lib/mws/reports/requests/report_request_count.rb +0 -20
  101. data/lib/mws/reports/requests/report_request_list.rb +0 -30
  102. data/lib/mws/reports/requests/report_requests.rb +0 -20
  103. data/lib/mws/reports/requests/report_schedule_count.rb +0 -19
  104. data/lib/mws/reports/requests/report_schedule_list.rb +0 -23
  105. data/lib/mws/reports/requests/report_scheduler.rb +0 -29
  106. data/lib/mws/sellers/client.rb +0 -53
  107. data/lib/mws/sellers/parsers/marketplace.rb +0 -33
  108. data/lib/mws/sellers/parsers/marketplace_participations.rb +0 -32
  109. data/lib/mws/sellers/parsers/participation.rb +0 -21
  110. data/lib/mws/sellers/parsers/service_status.rb +0 -36
  111. data/lib/mws/sellers/parsers/service_status_message.rb +0 -17
  112. data/lib/mws/sellers/requests/marketplace_participations.rb +0 -27
  113. data/lib/mws/sellers/requests/service_status.rb +0 -15
  114. data/lib/mws/subscriptions/client.rb +0 -7
  115. data/lib/peddler/parsers/base.rb +0 -15
  116. data/lib/peddler/parsers/collection.rb +0 -23
  117. data/lib/peddler/parsers/counter.rb +0 -13
  118. data/lib/peddler/parsers/model.rb +0 -42
  119. data/lib/peddler/parsers/text.rb +0 -8
  120. data/lib/peddler/parsers/tokenable.rb +0 -13
  121. data/lib/peddler/parsers/xml.rb +0 -30
  122. data/lib/peddler/request/parameters.rb +0 -57
  123. data/lib/peddler/request/structured_list.rb +0 -48
  124. data/lib/peddler/request.rb +0 -52
  125. data/lib/peddler/response/base.rb +0 -0
  126. data/lib/peddler/response/payload/base.rb +0 -0
  127. data/lib/peddler/response/payload/csv.rb +0 -0
  128. data/lib/peddler/response/payload/xml.rb +0 -0
  129. data/lib/peddler/response.rb +0 -27
  130. data/test/fixtures/feeds/feed_submission.xml +0 -14
  131. data/test/fixtures/feeds/feed_submission_count.xml +0 -9
  132. data/test/fixtures/feeds/feed_submission_list.xml +0 -17
  133. data/test/fixtures/feeds/feed_submissions.xml +0 -15
  134. data/test/fixtures/mws.yml +0 -12
  135. data/test/fixtures/mws.yml.example +0 -4
  136. data/test/fixtures/orders/order_items.xml +0 -83
  137. data/test/fixtures/orders/orders.xml +0 -109
  138. data/test/fixtures/orders/service_status.xml +0 -19
  139. data/test/fixtures/reports/report.xml +0 -8
  140. data/test/fixtures/reports/report_acknowledgements.xml +0 -18
  141. data/test/fixtures/reports/report_count.xml +0 -9
  142. data/test/fixtures/reports/report_list.xml +0 -17
  143. data/test/fixtures/reports/report_request_count.xml +0 -9
  144. data/test/fixtures/reports/report_request_list.xml +0 -24
  145. data/test/fixtures/reports/report_requests.xml +0 -19
  146. data/test/fixtures/reports/report_schedule_count.xml +0 -10
  147. data/test/fixtures/reports/report_schedule_list.xml +0 -16
  148. data/test/fixtures/reports/report_scheduler.xml +0 -15
  149. data/test/fixtures/sellers/market_participations.xml +0 -27
  150. data/test/fixtures/sellers/service_status.xml +0 -9
  151. data/test/integration/feeds/test_feed_submission_count.rb +0 -13
  152. data/test/integration/feeds/test_feed_submission_list.rb +0 -17
  153. data/test/integration/feeds/test_feed_submission_result.rb +0 -15
  154. data/test/integration/orders/test_order_items.rb +0 -19
  155. data/test/integration/orders/test_orders.rb +0 -23
  156. data/test/integration/orders/test_service_status.rb +0 -12
  157. data/test/integration/reports/test_report.rb +0 -15
  158. data/test/integration/reports/test_report_count.rb +0 -13
  159. data/test/integration/reports/test_report_list.rb +0 -17
  160. data/test/integration/reports/test_report_request_count.rb +0 -13
  161. data/test/integration/reports/test_report_request_list.rb +0 -17
  162. data/test/integration/reports/test_report_schedule_count.rb +0 -13
  163. data/test/integration/reports/test_report_schedule_list.rb +0 -13
  164. data/test/integration/reports/test_report_scheduler.rb +0 -16
  165. data/test/integration/sellers/test_marketplace_participations.rb +0 -13
  166. data/test/integration/sellers/test_service_status.rb +0 -12
  167. data/test/mws/feeds/parsers/test_feed.rb +0 -13
  168. data/test/mws/feeds/parsers/test_feed_submission_count.rb +0 -13
  169. data/test/mws/feeds/parsers/test_feed_submission_info.rb +0 -25
  170. data/test/mws/feeds/parsers/test_feed_submission_list.rb +0 -18
  171. data/test/mws/feeds/parsers/test_feed_submission_result.rb +0 -13
  172. data/test/mws/feeds/parsers/test_feed_submissions.rb +0 -17
  173. data/test/mws/feeds/requests/test_feed.rb +0 -63
  174. data/test/mws/feeds/requests/test_feed_submission_count.rb +0 -23
  175. data/test/mws/feeds/requests/test_feed_submission_list.rb +0 -37
  176. data/test/mws/feeds/requests/test_feed_submissions.rb +0 -29
  177. data/test/mws/orders/parsers/test_order.rb +0 -86
  178. data/test/mws/orders/parsers/test_order_item.rb +0 -69
  179. data/test/mws/orders/parsers/test_order_items.rb +0 -18
  180. data/test/mws/orders/parsers/test_orders.rb +0 -18
  181. data/test/mws/orders/parsers/test_payment_execution_detail.rb +0 -14
  182. data/test/mws/orders/parsers/test_payment_execution_detail_item.rb +0 -17
  183. data/test/mws/orders/parsers/test_service_status.rb +0 -39
  184. data/test/mws/orders/parsers/test_service_status_message.rb +0 -17
  185. data/test/mws/orders/parsers/test_shipping_address.rb +0 -36
  186. data/test/mws/orders/requests/test_order_items.rb +0 -36
  187. data/test/mws/orders/requests/test_orders.rb +0 -46
  188. data/test/mws/orders/requests/test_service_status.rb +0 -25
  189. data/test/mws/reports/parsers/test_report_acknowledgments.rb +0 -14
  190. data/test/mws/reports/parsers/test_report_count.rb +0 -13
  191. data/test/mws/reports/parsers/test_report_info.rb +0 -29
  192. data/test/mws/reports/parsers/test_report_list.rb +0 -18
  193. data/test/mws/reports/parsers/test_report_request.rb +0 -13
  194. data/test/mws/reports/parsers/test_report_request_count.rb +0 -13
  195. data/test/mws/reports/parsers/test_report_request_info.rb +0 -49
  196. data/test/mws/reports/parsers/test_report_request_list.rb +0 -18
  197. data/test/mws/reports/parsers/test_report_requests.rb +0 -17
  198. data/test/mws/reports/parsers/test_report_schedule_count.rb +0 -13
  199. data/test/mws/reports/parsers/test_report_schedule_list.rb +0 -18
  200. data/test/mws/reports/parsers/test_report_scheduler.rb +0 -17
  201. data/test/mws/reports/requests/test_acknowledgements.rb +0 -36
  202. data/test/mws/reports/requests/test_report_count.rb +0 -23
  203. data/test/mws/reports/requests/test_report_list.rb +0 -39
  204. data/test/mws/reports/requests/test_report_request.rb +0 -31
  205. data/test/mws/reports/requests/test_report_request_count.rb +0 -23
  206. data/test/mws/reports/requests/test_report_request_list.rb +0 -44
  207. data/test/mws/reports/requests/test_report_requests.rb +0 -29
  208. data/test/mws/reports/requests/test_report_schedule_count.rb +0 -22
  209. data/test/mws/reports/requests/test_report_schedule_list.rb +0 -36
  210. data/test/mws/reports/requests/test_report_scheduler.rb +0 -33
  211. data/test/mws/sellers/parsers/test_market_participations.rb +0 -19
  212. data/test/mws/sellers/parsers/test_service_status.rb +0 -35
  213. data/test/mws/sellers/requests/test_marketplace_participation_list.rb +0 -39
  214. data/test/mws/sellers/requests/test_service_status.rb +0 -25
  215. data/test/parser_helper.rb +0 -11
  216. data/test/peddler/parsers/test_collection.rb +0 -8
  217. data/test/peddler/parsers/test_model.rb +0 -70
  218. data/test/peddler/request/test_parameters.rb +0 -35
  219. data/test/peddler/test_client.rb +0 -42
  220. data/test/request_helper.rb +0 -20
@@ -1,19 +0,0 @@
1
- require 'peddler/parsers/model'
2
- require 'mws/reports/parsers/report_schedule'
3
-
4
- module MWS
5
- module Reports
6
- module Parsers
7
- class ReportScheduler < ::Peddler::Parsers::Model
8
- value :count do
9
- integer_at_xpath('Count')
10
- end
11
-
12
- value :report_schedule do
13
- node = at_xpath('ReportSchedule')
14
- ReportSchedule.new(node) if node
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,18 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class Report < ::Peddler::Request
8
- def get(id)
9
- parameters(:get_report)
10
- .update(report_id: id)
11
- .camelize_keys!
12
-
13
- execute
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,27 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_acknowledgements'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportAcknowledgements < ::Peddler::Request
8
- def update(acknowledged, *ids)
9
- parameters(:update_report_acknowledgements)
10
- .update(report_id_list: ids, acknowledged: acknowledged)
11
- .format_structured_lists!
12
- .camelize_keys!
13
-
14
- execute
15
- end
16
-
17
- def acknowledge(*ids)
18
- update(true, *ids)
19
- end
20
-
21
- def unacknowledge(*ids)
22
- update(false, *ids)
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,20 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_count'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportCount < ::Peddler::Request
8
- def get(options = {})
9
- parameters(:get_report_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
@@ -1,30 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_list'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportList < ::Peddler::Request
8
- def get(options = {})
9
- parameters(:get_report_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(token = next_token)
19
- return false unless token
20
-
21
- parameters(:get_report_list_by_next_token)
22
- .update(next_token: token)
23
- .camelize_keys!
24
-
25
- execute
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,21 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_request'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportRequest < ::Peddler::Request
8
- def submit(type, options = {})
9
- parameters(:request_report)
10
- .update(report_type: type)
11
- .update(options)
12
- .timestamp!
13
- .format_structured_lists!
14
- .camelize_keys!
15
-
16
- execute
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,20 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_request_count'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportRequestCount < ::Peddler::Request
8
- def get(options = {})
9
- parameters(:get_report_request_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
@@ -1,30 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_request_list'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportRequestList < ::Peddler::Request
8
- def get(options = {})
9
- parameters(:get_report_request_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(token = next_token)
19
- return false unless token
20
-
21
- parameters(:get_report_request_list_by_next_token)
22
- .update(next_token: token)
23
- .camelize_keys!
24
-
25
- execute
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,20 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_requests'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportRequests < ::Peddler::Request
8
- def cancel(options = {})
9
- parameters(:cancel_report_requests)
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
@@ -1,19 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_schedule_count'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportScheduleCount < ::Peddler::Request
8
- def get(*types)
9
- parameters(:get_report_schedule_count)
10
- .update(report_type_list: types)
11
- .format_structured_lists!
12
- .camelize_keys!
13
-
14
- execute
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,23 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_schedule_list'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportScheduleList < ::Peddler::Request
8
- def get(*types)
9
- parameters(:get_report_schedule_list)
10
- .update(report_type_list: types)
11
- .format_structured_lists!
12
- .camelize_keys!
13
-
14
- execute
15
- end
16
-
17
- def get_by_next_token(token = next_token)
18
- raise NotImplementedError
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,29 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/reports/parsers/report_scheduler'
3
-
4
- module MWS
5
- module Reports
6
- module Requests
7
- class ReportScheduler < ::Peddler::Request
8
- def manage(type, schedule, scheduled_at = nil)
9
- options = {
10
- report_type: type,
11
- schedule: schedule
12
- }
13
- options.update(scheduled_date: scheduled_at) if scheduled_at
14
-
15
- parameters(:get_report_count)
16
- .update(options)
17
- .timestamp!
18
- .camelize_keys!
19
-
20
- execute
21
- end
22
-
23
- def delete(type)
24
- manage(type, '_NEVER_')
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,53 +0,0 @@
1
- require 'mws/sellers/requests/marketplace_participations'
2
- require 'mws/sellers/requests/service_status'
3
- require 'peddler/client'
4
-
5
- module MWS
6
- module Sellers
7
- # The Sellers API lets sellers retrieve information about their seller
8
- # account, such as the marketplaces they participate in.
9
- class Client < ::Peddler::Client
10
- path 'Sellers/2011-07-01'
11
-
12
- # Public: List marketplaces that the seller submitting the request can
13
- # sell in and her participations, which include seller-specific
14
- # information in that marketplace.
15
- #
16
- # Examples
17
- #
18
- # client.list_marketplace_participations
19
- #
20
- # Returns Marketplace Participations.
21
- def_delegator :marketplace_participations, :list, :list_marketplace_participations
22
-
23
- # Public: List the next page of marketplace participations using the
24
- # NextToken parameter.
25
- #
26
- # Examples
27
- #
28
- # client.list_marketplace_participations_by_next_token
29
- #
30
- # Returns Marketplace Participations.
31
- def_delegator :marketplace_participations, :list_by_next_token, :list_marketplace_participations_by_next_token
32
-
33
- # Public: Get the service status of the API.
34
- #
35
- # Examples
36
- #
37
- # client.get_service_status
38
- #
39
- # Returns the Service Status.
40
- def_delegator :service_status, :get, :get_service_status
41
-
42
- private
43
-
44
- def marketplace_participations
45
- @marketplace_participations ||= Requests::MarketplaceParticipations.new(self)
46
- end
47
-
48
- def service_status
49
- @service_status ||= Requests::ServiceStatus.new(self)
50
- end
51
- end
52
- end
53
- end
@@ -1,33 +0,0 @@
1
- require 'peddler/parsers/model'
2
-
3
- module MWS
4
- module Sellers
5
- module Parsers
6
- class Marketplace < ::Peddler::Parsers::Model
7
- value(:id) do
8
- text_at_xpath('MarketplaceId')
9
- end
10
-
11
- value(:name) do
12
- text_at_xpath('Name')
13
- end
14
-
15
- value(:default_country_code) do
16
- text_at_xpath('DefaultCountryCode')
17
- end
18
-
19
- value(:default_currency_code) do
20
- text_at_xpath('DefaultCurrencyCode')
21
- end
22
-
23
- value(:default_language_code) do
24
- text_at_xpath('DefaultLanguageCode')
25
- end
26
-
27
- value(:domain_name) do
28
- text_at_xpath('DomainName')
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,32 +0,0 @@
1
- require 'peddler/parsers/model'
2
- require 'mws/sellers/parsers/marketplace'
3
- require 'mws/sellers/parsers/participation'
4
- require 'peddler/parsers/tokenable'
5
-
6
- module MWS
7
- module Sellers
8
- module Parsers
9
- class MarketplaceParticipations < ::Peddler::Parsers::Model
10
- include ::Peddler::Parsers::Tokenable
11
-
12
- value(:marketplaces) do
13
- marketplace_nodes.map { |node| Marketplace.new(node) }
14
- end
15
-
16
- value(:participations) do
17
- participation_nodes.map { |node| Participation.new(node) }
18
- end
19
-
20
- private
21
-
22
- def participation_nodes
23
- xpath('ListParticipations/Participation')
24
- end
25
-
26
- def marketplace_nodes
27
- xpath('ListMarketplaces/Marketplace')
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,21 +0,0 @@
1
- require 'peddler/parsers/model'
2
-
3
- module MWS
4
- module Sellers
5
- module Parsers
6
- class Participation < ::Peddler::Parsers::Model
7
- value(:marketplace_id) do
8
- text_at_xpath('MarketplaceId')
9
- end
10
-
11
- value(:seller_id) do
12
- text_at_xpath('SellerId')
13
- end
14
-
15
- value(:has_seller_suspended_listings?) do
16
- boolean_at_xpath('HasSellerSuspendedListings')
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,36 +0,0 @@
1
- require 'mws/sellers/parsers/service_status_message'
2
- require 'peddler/parsers/model'
3
-
4
- module MWS
5
- module Sellers
6
- module Parsers
7
- class ServiceStatus < ::Peddler::Parsers::Model
8
- value :status do
9
- text_at_xpath('Status')
10
- end
11
-
12
- value :timestamp do
13
- time_at_xpath('Timestamp')
14
- end
15
-
16
- value :message_id do
17
- text_at_xpath('MessageId')
18
- end
19
-
20
- value :messages do
21
- xpath('Messages/Message').map { |node| ServiceStatusMessage.new(node) }
22
- end
23
-
24
- def ok?
25
- status == 'GREEN'
26
- end
27
-
28
- def inspect
29
- status
30
- end
31
-
32
- alias :to_s :inspect
33
- end
34
- end
35
- end
36
- end
@@ -1,17 +0,0 @@
1
- require 'peddler/parsers/model'
2
-
3
- module MWS
4
- module Sellers
5
- module Parsers
6
- class ServiceStatusMessage < ::Peddler::Parsers::Model
7
- value :locale do
8
- text_at_xpath('Locale')
9
- end
10
-
11
- value :text do
12
- text_at_xpath('Text')
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,27 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/sellers/parsers/marketplace_participations'
3
-
4
- module MWS
5
- module Sellers
6
- module Requests
7
- class MarketplaceParticipations < ::Peddler::Request
8
- def list
9
- parameters(:list_marketplace_participations)
10
- .camelize_keys!
11
-
12
- execute
13
- end
14
-
15
- def list_by_next_token(token = next_token)
16
- return false unless token
17
-
18
- parameters(:list_marketplace_participations_by_next_token)
19
- .update(next_token: token)
20
- .camelize_keys!
21
-
22
- execute
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,15 +0,0 @@
1
- require 'peddler/request'
2
- require 'mws/sellers/parsers/service_status'
3
-
4
- module MWS
5
- module Sellers
6
- module Requests
7
- class ServiceStatus < ::Peddler::Request
8
- def get
9
- parameters(:get_service_status)
10
- execute
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,7 +0,0 @@
1
- module MWS
2
- module Subscriptions
3
- class Client < ::Peddler::Client
4
- path 'Subscriptions/2013-07-01'
5
- end
6
- end
7
- end
@@ -1,15 +0,0 @@
1
- module Peddler
2
- module Parsers
3
- class Base
4
- def self.xml?
5
- false
6
- end
7
-
8
- attr :document
9
-
10
- def initialize(document)
11
- @document = document
12
- end
13
- end
14
- end
15
- end
@@ -1,23 +0,0 @@
1
- require 'peddler/parsers/xml'
2
-
3
- module Peddler
4
- module Parsers
5
- class Collection < XML
6
- include Enumerable
7
-
8
- def each
9
- raise NotImplementedError
10
- end
11
-
12
- def empty?
13
- count == 0
14
- end
15
-
16
- def inspect
17
- "#<#{self.class} (#{count})>"
18
- end
19
-
20
- alias :to_s :inspect
21
- end
22
- end
23
- end
@@ -1,13 +0,0 @@
1
- require 'peddler/parsers/model'
2
-
3
- module Peddler
4
- module Parsers
5
- class Counter < Model
6
- value :count do
7
- integer_at_xpath('Count')
8
- end
9
-
10
- alias :to_i :count
11
- end
12
- end
13
- end
@@ -1,42 +0,0 @@
1
- require 'cgi'
2
- require 'time'
3
- require 'money'
4
- require 'structure'
5
-
6
- require 'peddler/parsers/xml'
7
-
8
- module Peddler
9
- module Parsers
10
- class Model < XML
11
- include Structure
12
-
13
- def boolean_at_xpath(path)
14
- !!text_at_xpath(path).match(/true|yes/i)
15
- end
16
-
17
- def float_at_xpath(path)
18
- str = text_at_xpath(path)
19
- str.to_f if str
20
- end
21
-
22
- def integer_at_xpath(path)
23
- str = text_at_xpath(path)
24
- str.to_i if str
25
- end
26
-
27
- def money_at_xpath(path)
28
- return unless amount = float_at_xpath("#{path}/Amount")
29
-
30
- currency_code = text_at_xpath("#{path}/CurrencyCode")
31
- amount = amount * 100 unless currency_code == 'JPY'
32
-
33
- Money.new(amount, currency_code)
34
- end
35
-
36
- def time_at_xpath(path)
37
- str = text_at_xpath(path)
38
- Time.parse(CGI.unescape(str)) if str
39
- end
40
- end
41
- end
42
- end
@@ -1,8 +0,0 @@
1
- require 'peddler/parsers/base'
2
-
3
- module Peddler
4
- module Parsers
5
- class Text < Base
6
- end
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- module Peddler
2
- module Parsers
3
- module Tokenable
4
- def next_token
5
- text_at_xpath('NextToken')
6
- end
7
-
8
- def has_next_token?
9
- !!next_token
10
- end
11
- end
12
- end
13
- end