peddler 0.6.5 → 0.7.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.
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