shopify_api 1.0.4 → 12.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (459) hide show
  1. checksums.yaml +7 -0
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/ISSUE_TEMPLATE.md +35 -0
  4. data/.github/dependabot.yml +20 -0
  5. data/.github/pull_request_template.md +20 -0
  6. data/.github/workflows/build.yml +42 -0
  7. data/.github/workflows/cla.yml +22 -0
  8. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  9. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  10. data/.github/workflows/stale.yml +32 -0
  11. data/.rubocop.yml +59 -0
  12. data/BREAKING_CHANGES_FOR_OLDER_VERSIONS.md +110 -0
  13. data/CHANGELOG.md +574 -0
  14. data/CONTRIBUTING.md +9 -0
  15. data/Gemfile +13 -0
  16. data/Gemfile.lock +159 -0
  17. data/LICENSE +2 -2
  18. data/README.md +138 -0
  19. data/RELEASING.md +19 -0
  20. data/Rakefile +16 -50
  21. data/SECURITY.md +59 -0
  22. data/bin/tapioca +29 -0
  23. data/dev.yml +32 -0
  24. data/docs/README.md +13 -0
  25. data/docs/getting_started.md +53 -0
  26. data/docs/issues.md +39 -0
  27. data/docs/usage/graphql.md +115 -0
  28. data/docs/usage/graphql_storefront.md +42 -0
  29. data/docs/usage/oauth.md +104 -0
  30. data/docs/usage/rest.md +137 -0
  31. data/docs/usage/session_storage.md +46 -0
  32. data/docs/usage/webhooks.md +98 -0
  33. data/lib/shopify_api/admin_versions.rb +19 -0
  34. data/lib/shopify_api/auth/associated_user.rb +36 -0
  35. data/lib/shopify_api/auth/auth_scopes.rb +75 -0
  36. data/lib/shopify_api/auth/file_session_storage.rb +72 -0
  37. data/lib/shopify_api/auth/jwt_payload.rb +83 -0
  38. data/lib/shopify_api/auth/oauth/auth_query.rb +47 -0
  39. data/lib/shopify_api/auth/oauth/session_cookie.rb +28 -0
  40. data/lib/shopify_api/auth/oauth.rb +135 -0
  41. data/lib/shopify_api/auth/session.rb +119 -0
  42. data/lib/shopify_api/auth/session_storage.rb +30 -0
  43. data/lib/shopify_api/auth.rb +26 -0
  44. data/lib/shopify_api/clients/graphql/admin.rb +15 -0
  45. data/lib/shopify_api/clients/graphql/client.rb +40 -0
  46. data/lib/shopify_api/clients/graphql/storefront.rb +35 -0
  47. data/lib/shopify_api/clients/http_client.rb +100 -0
  48. data/lib/shopify_api/clients/http_request.rb +35 -0
  49. data/lib/shopify_api/clients/http_response.rb +66 -0
  50. data/lib/shopify_api/clients/rest/admin.rb +118 -0
  51. data/lib/shopify_api/context.rb +196 -0
  52. data/lib/shopify_api/errors/context_not_setup_error.rb +9 -0
  53. data/lib/shopify_api/errors/cookie_not_found_error.rb +9 -0
  54. data/lib/shopify_api/errors/feature_deprecated_error.rb +9 -0
  55. data/lib/shopify_api/errors/http_response_error.rb +23 -0
  56. data/lib/shopify_api/errors/invalid_graphql_request_error.rb +9 -0
  57. data/lib/shopify_api/errors/invalid_http_request_error.rb +9 -0
  58. data/lib/shopify_api/errors/invalid_jwt_token_error.rb +9 -0
  59. data/lib/shopify_api/errors/invalid_oauth_error.rb +9 -0
  60. data/lib/shopify_api/errors/invalid_webhook_error.rb +9 -0
  61. data/lib/shopify_api/errors/invalid_webhook_registration_error.rb +9 -0
  62. data/lib/shopify_api/errors/log_level_not_found_error.rb +9 -0
  63. data/lib/shopify_api/errors/max_http_retries_exceeded_error.rb +9 -0
  64. data/lib/shopify_api/errors/missing_jwt_token_error.rb +9 -0
  65. data/lib/shopify_api/errors/missing_required_argument_error.rb +9 -0
  66. data/lib/shopify_api/errors/no_active_session_error.rb +9 -0
  67. data/lib/shopify_api/errors/no_session_cookie_error.rb +9 -0
  68. data/lib/shopify_api/errors/no_webhook_handler.rb +9 -0
  69. data/lib/shopify_api/errors/private_app_error.rb +9 -0
  70. data/lib/shopify_api/errors/request_access_token_error.rb +9 -0
  71. data/lib/shopify_api/errors/session_not_found_error.rb +9 -0
  72. data/lib/shopify_api/errors/session_storage_error.rb +9 -0
  73. data/lib/shopify_api/errors/unsupported_oauth_error.rb +9 -0
  74. data/lib/shopify_api/errors/unsupported_version_error.rb +9 -0
  75. data/lib/shopify_api/errors/webhook_registration_error.rb +9 -0
  76. data/lib/shopify_api/inflector.rb +17 -0
  77. data/lib/shopify_api/logger.rb +82 -0
  78. data/lib/shopify_api/rest/base.rb +387 -0
  79. data/lib/shopify_api/rest/base_errors.rb +32 -0
  80. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +190 -0
  81. data/lib/shopify_api/rest/resources/2022_01/access_scope.rb +58 -0
  82. data/lib/shopify_api/rest/resources/2022_01/android_pay_key.rb +77 -0
  83. data/lib/shopify_api/rest/resources/2022_01/apple_pay_certificate.rb +105 -0
  84. data/lib/shopify_api/rest/resources/2022_01/application_charge.rb +104 -0
  85. data/lib/shopify_api/rest/resources/2022_01/application_credit.rb +87 -0
  86. data/lib/shopify_api/rest/resources/2022_01/article.rb +265 -0
  87. data/lib/shopify_api/rest/resources/2022_01/asset.rb +118 -0
  88. data/lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb +79 -0
  89. data/lib/shopify_api/rest/resources/2022_01/balance.rb +50 -0
  90. data/lib/shopify_api/rest/resources/2022_01/blog.rb +162 -0
  91. data/lib/shopify_api/rest/resources/2022_01/cancellation_request.rb +83 -0
  92. data/lib/shopify_api/rest/resources/2022_01/carrier_service.rb +116 -0
  93. data/lib/shopify_api/rest/resources/2022_01/checkout.rb +209 -0
  94. data/lib/shopify_api/rest/resources/2022_01/collect.rb +142 -0
  95. data/lib/shopify_api/rest/resources/2022_01/collection.rb +110 -0
  96. data/lib/shopify_api/rest/resources/2022_01/collection_listing.rb +155 -0
  97. data/lib/shopify_api/rest/resources/2022_01/comment.rb +283 -0
  98. data/lib/shopify_api/rest/resources/2022_01/country.rb +137 -0
  99. data/lib/shopify_api/rest/resources/2022_01/currency.rb +57 -0
  100. data/lib/shopify_api/rest/resources/2022_01/custom_collection.rb +187 -0
  101. data/lib/shopify_api/rest/resources/2022_01/customer.rb +318 -0
  102. data/lib/shopify_api/rest/resources/2022_01/customer_address.rb +201 -0
  103. data/lib/shopify_api/rest/resources/2022_01/customer_saved_search.rb +169 -0
  104. data/lib/shopify_api/rest/resources/2022_01/deprecated_api_call.rb +57 -0
  105. data/lib/shopify_api/rest/resources/2022_01/discount_code.rb +219 -0
  106. data/lib/shopify_api/rest/resources/2022_01/dispute.rb +111 -0
  107. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +275 -0
  108. data/lib/shopify_api/rest/resources/2022_01/event.rb +148 -0
  109. data/lib/shopify_api/rest/resources/2022_01/fulfillment.rb +268 -0
  110. data/lib/shopify_api/rest/resources/2022_01/fulfillment_event.rb +166 -0
  111. data/lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb +281 -0
  112. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +87 -0
  113. data/lib/shopify_api/rest/resources/2022_01/fulfillment_service.rb +130 -0
  114. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +215 -0
  115. data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +118 -0
  116. data/lib/shopify_api/rest/resources/2022_01/image.rb +157 -0
  117. data/lib/shopify_api/rest/resources/2022_01/inventory_item.rb +108 -0
  118. data/lib/shopify_api/rest/resources/2022_01/inventory_level.rb +179 -0
  119. data/lib/shopify_api/rest/resources/2022_01/location.rb +167 -0
  120. data/lib/shopify_api/rest/resources/2022_01/locations_for_move.rb +56 -0
  121. data/lib/shopify_api/rest/resources/2022_01/marketing_event.rb +209 -0
  122. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +349 -0
  123. data/lib/shopify_api/rest/resources/2022_01/mobile_platform_application.rb +110 -0
  124. data/lib/shopify_api/rest/resources/2022_01/order.rb +473 -0
  125. data/lib/shopify_api/rest/resources/2022_01/order_risk.rb +135 -0
  126. data/lib/shopify_api/rest/resources/2022_01/page.rb +194 -0
  127. data/lib/shopify_api/rest/resources/2022_01/payment.rb +140 -0
  128. data/lib/shopify_api/rest/resources/2022_01/payment_gateway.rb +143 -0
  129. data/lib/shopify_api/rest/resources/2022_01/payment_transaction.rb +107 -0
  130. data/lib/shopify_api/rest/resources/2022_01/payout.rb +97 -0
  131. data/lib/shopify_api/rest/resources/2022_01/policy.rb +69 -0
  132. data/lib/shopify_api/rest/resources/2022_01/price_rule.rb +223 -0
  133. data/lib/shopify_api/rest/resources/2022_01/product.rb +223 -0
  134. data/lib/shopify_api/rest/resources/2022_01/product_listing.rb +196 -0
  135. data/lib/shopify_api/rest/resources/2022_01/product_resource_feedback.rb +88 -0
  136. data/lib/shopify_api/rest/resources/2022_01/province.rb +132 -0
  137. data/lib/shopify_api/rest/resources/2022_01/recurring_application_charge.rb +167 -0
  138. data/lib/shopify_api/rest/resources/2022_01/redirect.rb +139 -0
  139. data/lib/shopify_api/rest/resources/2022_01/refund.rb +151 -0
  140. data/lib/shopify_api/rest/resources/2022_01/report.rb +121 -0
  141. data/lib/shopify_api/rest/resources/2022_01/resource_feedback.rb +73 -0
  142. data/lib/shopify_api/rest/resources/2022_01/script_tag.rb +155 -0
  143. data/lib/shopify_api/rest/resources/2022_01/shipping_zone.rb +83 -0
  144. data/lib/shopify_api/rest/resources/2022_01/shop.rb +218 -0
  145. data/lib/shopify_api/rest/resources/2022_01/smart_collection.rb +216 -0
  146. data/lib/shopify_api/rest/resources/2022_01/storefront_access_token.rb +87 -0
  147. data/lib/shopify_api/rest/resources/2022_01/tender_transaction.rb +93 -0
  148. data/lib/shopify_api/rest/resources/2022_01/theme.rb +120 -0
  149. data/lib/shopify_api/rest/resources/2022_01/transaction.rb +181 -0
  150. data/lib/shopify_api/rest/resources/2022_01/usage_charge.rb +97 -0
  151. data/lib/shopify_api/rest/resources/2022_01/user.rb +138 -0
  152. data/lib/shopify_api/rest/resources/2022_01/variant.rb +212 -0
  153. data/lib/shopify_api/rest/resources/2022_01/webhook.rb +168 -0
  154. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +190 -0
  155. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +58 -0
  156. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +77 -0
  157. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +105 -0
  158. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +104 -0
  159. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +87 -0
  160. data/lib/shopify_api/rest/resources/2022_04/article.rb +265 -0
  161. data/lib/shopify_api/rest/resources/2022_04/asset.rb +118 -0
  162. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +79 -0
  163. data/lib/shopify_api/rest/resources/2022_04/balance.rb +50 -0
  164. data/lib/shopify_api/rest/resources/2022_04/blog.rb +162 -0
  165. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +83 -0
  166. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +116 -0
  167. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +209 -0
  168. data/lib/shopify_api/rest/resources/2022_04/collect.rb +142 -0
  169. data/lib/shopify_api/rest/resources/2022_04/collection.rb +110 -0
  170. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +155 -0
  171. data/lib/shopify_api/rest/resources/2022_04/comment.rb +283 -0
  172. data/lib/shopify_api/rest/resources/2022_04/country.rb +137 -0
  173. data/lib/shopify_api/rest/resources/2022_04/currency.rb +57 -0
  174. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +187 -0
  175. data/lib/shopify_api/rest/resources/2022_04/customer.rb +321 -0
  176. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +201 -0
  177. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +169 -0
  178. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +57 -0
  179. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +219 -0
  180. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +111 -0
  181. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +275 -0
  182. data/lib/shopify_api/rest/resources/2022_04/event.rb +148 -0
  183. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +268 -0
  184. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +166 -0
  185. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +284 -0
  186. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +87 -0
  187. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +130 -0
  188. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +215 -0
  189. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +118 -0
  190. data/lib/shopify_api/rest/resources/2022_04/image.rb +157 -0
  191. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +108 -0
  192. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +179 -0
  193. data/lib/shopify_api/rest/resources/2022_04/location.rb +167 -0
  194. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +56 -0
  195. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +209 -0
  196. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +342 -0
  197. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +110 -0
  198. data/lib/shopify_api/rest/resources/2022_04/order.rb +473 -0
  199. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +135 -0
  200. data/lib/shopify_api/rest/resources/2022_04/page.rb +194 -0
  201. data/lib/shopify_api/rest/resources/2022_04/payment.rb +140 -0
  202. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +143 -0
  203. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +107 -0
  204. data/lib/shopify_api/rest/resources/2022_04/payout.rb +97 -0
  205. data/lib/shopify_api/rest/resources/2022_04/policy.rb +69 -0
  206. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +223 -0
  207. data/lib/shopify_api/rest/resources/2022_04/product.rb +223 -0
  208. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +196 -0
  209. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +88 -0
  210. data/lib/shopify_api/rest/resources/2022_04/province.rb +132 -0
  211. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +167 -0
  212. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +139 -0
  213. data/lib/shopify_api/rest/resources/2022_04/refund.rb +151 -0
  214. data/lib/shopify_api/rest/resources/2022_04/report.rb +121 -0
  215. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +73 -0
  216. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +155 -0
  217. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +83 -0
  218. data/lib/shopify_api/rest/resources/2022_04/shop.rb +218 -0
  219. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +216 -0
  220. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +87 -0
  221. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +93 -0
  222. data/lib/shopify_api/rest/resources/2022_04/theme.rb +120 -0
  223. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +181 -0
  224. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +97 -0
  225. data/lib/shopify_api/rest/resources/2022_04/user.rb +138 -0
  226. data/lib/shopify_api/rest/resources/2022_04/variant.rb +212 -0
  227. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +168 -0
  228. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +190 -0
  229. data/lib/shopify_api/rest/resources/2022_07/access_scope.rb +58 -0
  230. data/lib/shopify_api/rest/resources/2022_07/android_pay_key.rb +77 -0
  231. data/lib/shopify_api/rest/resources/2022_07/apple_pay_certificate.rb +105 -0
  232. data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +104 -0
  233. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +87 -0
  234. data/lib/shopify_api/rest/resources/2022_07/article.rb +265 -0
  235. data/lib/shopify_api/rest/resources/2022_07/asset.rb +118 -0
  236. data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +79 -0
  237. data/lib/shopify_api/rest/resources/2022_07/balance.rb +50 -0
  238. data/lib/shopify_api/rest/resources/2022_07/blog.rb +162 -0
  239. data/lib/shopify_api/rest/resources/2022_07/cancellation_request.rb +83 -0
  240. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +113 -0
  241. data/lib/shopify_api/rest/resources/2022_07/checkout.rb +209 -0
  242. data/lib/shopify_api/rest/resources/2022_07/collect.rb +142 -0
  243. data/lib/shopify_api/rest/resources/2022_07/collection.rb +110 -0
  244. data/lib/shopify_api/rest/resources/2022_07/collection_listing.rb +155 -0
  245. data/lib/shopify_api/rest/resources/2022_07/comment.rb +283 -0
  246. data/lib/shopify_api/rest/resources/2022_07/country.rb +137 -0
  247. data/lib/shopify_api/rest/resources/2022_07/currency.rb +57 -0
  248. data/lib/shopify_api/rest/resources/2022_07/custom_collection.rb +187 -0
  249. data/lib/shopify_api/rest/resources/2022_07/customer.rb +321 -0
  250. data/lib/shopify_api/rest/resources/2022_07/customer_address.rb +201 -0
  251. data/lib/shopify_api/rest/resources/2022_07/customer_saved_search.rb +169 -0
  252. data/lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb +57 -0
  253. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +219 -0
  254. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +111 -0
  255. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +117 -0
  256. data/lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb +81 -0
  257. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +275 -0
  258. data/lib/shopify_api/rest/resources/2022_07/event.rb +148 -0
  259. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +221 -0
  260. data/lib/shopify_api/rest/resources/2022_07/fulfillment_event.rb +166 -0
  261. data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +310 -0
  262. data/lib/shopify_api/rest/resources/2022_07/fulfillment_request.rb +87 -0
  263. data/lib/shopify_api/rest/resources/2022_07/fulfillment_service.rb +130 -0
  264. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +215 -0
  265. data/lib/shopify_api/rest/resources/2022_07/gift_card_adjustment.rb +118 -0
  266. data/lib/shopify_api/rest/resources/2022_07/image.rb +157 -0
  267. data/lib/shopify_api/rest/resources/2022_07/inventory_item.rb +108 -0
  268. data/lib/shopify_api/rest/resources/2022_07/inventory_level.rb +179 -0
  269. data/lib/shopify_api/rest/resources/2022_07/location.rb +167 -0
  270. data/lib/shopify_api/rest/resources/2022_07/locations_for_move.rb +56 -0
  271. data/lib/shopify_api/rest/resources/2022_07/marketing_event.rb +209 -0
  272. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +342 -0
  273. data/lib/shopify_api/rest/resources/2022_07/mobile_platform_application.rb +110 -0
  274. data/lib/shopify_api/rest/resources/2022_07/order.rb +473 -0
  275. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +135 -0
  276. data/lib/shopify_api/rest/resources/2022_07/page.rb +194 -0
  277. data/lib/shopify_api/rest/resources/2022_07/payment.rb +140 -0
  278. data/lib/shopify_api/rest/resources/2022_07/payment_gateway.rb +143 -0
  279. data/lib/shopify_api/rest/resources/2022_07/payment_transaction.rb +107 -0
  280. data/lib/shopify_api/rest/resources/2022_07/payout.rb +97 -0
  281. data/lib/shopify_api/rest/resources/2022_07/policy.rb +69 -0
  282. data/lib/shopify_api/rest/resources/2022_07/price_rule.rb +223 -0
  283. data/lib/shopify_api/rest/resources/2022_07/product.rb +223 -0
  284. data/lib/shopify_api/rest/resources/2022_07/product_listing.rb +196 -0
  285. data/lib/shopify_api/rest/resources/2022_07/product_resource_feedback.rb +88 -0
  286. data/lib/shopify_api/rest/resources/2022_07/province.rb +132 -0
  287. data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +167 -0
  288. data/lib/shopify_api/rest/resources/2022_07/redirect.rb +139 -0
  289. data/lib/shopify_api/rest/resources/2022_07/refund.rb +151 -0
  290. data/lib/shopify_api/rest/resources/2022_07/report.rb +121 -0
  291. data/lib/shopify_api/rest/resources/2022_07/resource_feedback.rb +73 -0
  292. data/lib/shopify_api/rest/resources/2022_07/script_tag.rb +155 -0
  293. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +83 -0
  294. data/lib/shopify_api/rest/resources/2022_07/shop.rb +218 -0
  295. data/lib/shopify_api/rest/resources/2022_07/smart_collection.rb +216 -0
  296. data/lib/shopify_api/rest/resources/2022_07/storefront_access_token.rb +87 -0
  297. data/lib/shopify_api/rest/resources/2022_07/tender_transaction.rb +93 -0
  298. data/lib/shopify_api/rest/resources/2022_07/theme.rb +120 -0
  299. data/lib/shopify_api/rest/resources/2022_07/transaction.rb +181 -0
  300. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +97 -0
  301. data/lib/shopify_api/rest/resources/2022_07/user.rb +138 -0
  302. data/lib/shopify_api/rest/resources/2022_07/variant.rb +212 -0
  303. data/lib/shopify_api/rest/resources/2022_07/webhook.rb +168 -0
  304. data/lib/shopify_api/rest/resources/2022_10/abandoned_checkout.rb +190 -0
  305. data/lib/shopify_api/rest/resources/2022_10/access_scope.rb +58 -0
  306. data/lib/shopify_api/rest/resources/2022_10/android_pay_key.rb +77 -0
  307. data/lib/shopify_api/rest/resources/2022_10/apple_pay_certificate.rb +105 -0
  308. data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +104 -0
  309. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +87 -0
  310. data/lib/shopify_api/rest/resources/2022_10/article.rb +265 -0
  311. data/lib/shopify_api/rest/resources/2022_10/asset.rb +118 -0
  312. data/lib/shopify_api/rest/resources/2022_10/assigned_fulfillment_order.rb +79 -0
  313. data/lib/shopify_api/rest/resources/2022_10/balance.rb +50 -0
  314. data/lib/shopify_api/rest/resources/2022_10/blog.rb +162 -0
  315. data/lib/shopify_api/rest/resources/2022_10/cancellation_request.rb +83 -0
  316. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +113 -0
  317. data/lib/shopify_api/rest/resources/2022_10/checkout.rb +209 -0
  318. data/lib/shopify_api/rest/resources/2022_10/collect.rb +142 -0
  319. data/lib/shopify_api/rest/resources/2022_10/collection.rb +110 -0
  320. data/lib/shopify_api/rest/resources/2022_10/collection_listing.rb +155 -0
  321. data/lib/shopify_api/rest/resources/2022_10/comment.rb +283 -0
  322. data/lib/shopify_api/rest/resources/2022_10/country.rb +137 -0
  323. data/lib/shopify_api/rest/resources/2022_10/currency.rb +57 -0
  324. data/lib/shopify_api/rest/resources/2022_10/custom_collection.rb +187 -0
  325. data/lib/shopify_api/rest/resources/2022_10/customer.rb +321 -0
  326. data/lib/shopify_api/rest/resources/2022_10/customer_address.rb +201 -0
  327. data/lib/shopify_api/rest/resources/2022_10/customer_saved_search.rb +169 -0
  328. data/lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb +57 -0
  329. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +219 -0
  330. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +111 -0
  331. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  332. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  333. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +275 -0
  334. data/lib/shopify_api/rest/resources/2022_10/event.rb +148 -0
  335. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +221 -0
  336. data/lib/shopify_api/rest/resources/2022_10/fulfillment_event.rb +166 -0
  337. data/lib/shopify_api/rest/resources/2022_10/fulfillment_order.rb +310 -0
  338. data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +87 -0
  339. data/lib/shopify_api/rest/resources/2022_10/fulfillment_service.rb +130 -0
  340. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +215 -0
  341. data/lib/shopify_api/rest/resources/2022_10/gift_card_adjustment.rb +118 -0
  342. data/lib/shopify_api/rest/resources/2022_10/image.rb +157 -0
  343. data/lib/shopify_api/rest/resources/2022_10/inventory_item.rb +108 -0
  344. data/lib/shopify_api/rest/resources/2022_10/inventory_level.rb +179 -0
  345. data/lib/shopify_api/rest/resources/2022_10/location.rb +167 -0
  346. data/lib/shopify_api/rest/resources/2022_10/locations_for_move.rb +56 -0
  347. data/lib/shopify_api/rest/resources/2022_10/marketing_event.rb +209 -0
  348. data/lib/shopify_api/rest/resources/2022_10/metafield.rb +342 -0
  349. data/lib/shopify_api/rest/resources/2022_10/mobile_platform_application.rb +110 -0
  350. data/lib/shopify_api/rest/resources/2022_10/order.rb +476 -0
  351. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +135 -0
  352. data/lib/shopify_api/rest/resources/2022_10/page.rb +194 -0
  353. data/lib/shopify_api/rest/resources/2022_10/payment.rb +140 -0
  354. data/lib/shopify_api/rest/resources/2022_10/payment_gateway.rb +143 -0
  355. data/lib/shopify_api/rest/resources/2022_10/payment_transaction.rb +107 -0
  356. data/lib/shopify_api/rest/resources/2022_10/payout.rb +97 -0
  357. data/lib/shopify_api/rest/resources/2022_10/policy.rb +69 -0
  358. data/lib/shopify_api/rest/resources/2022_10/price_rule.rb +223 -0
  359. data/lib/shopify_api/rest/resources/2022_10/product.rb +223 -0
  360. data/lib/shopify_api/rest/resources/2022_10/product_listing.rb +196 -0
  361. data/lib/shopify_api/rest/resources/2022_10/product_resource_feedback.rb +88 -0
  362. data/lib/shopify_api/rest/resources/2022_10/province.rb +132 -0
  363. data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +167 -0
  364. data/lib/shopify_api/rest/resources/2022_10/redirect.rb +139 -0
  365. data/lib/shopify_api/rest/resources/2022_10/refund.rb +151 -0
  366. data/lib/shopify_api/rest/resources/2022_10/report.rb +121 -0
  367. data/lib/shopify_api/rest/resources/2022_10/resource_feedback.rb +73 -0
  368. data/lib/shopify_api/rest/resources/2022_10/script_tag.rb +155 -0
  369. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +83 -0
  370. data/lib/shopify_api/rest/resources/2022_10/shop.rb +221 -0
  371. data/lib/shopify_api/rest/resources/2022_10/smart_collection.rb +216 -0
  372. data/lib/shopify_api/rest/resources/2022_10/storefront_access_token.rb +87 -0
  373. data/lib/shopify_api/rest/resources/2022_10/tender_transaction.rb +93 -0
  374. data/lib/shopify_api/rest/resources/2022_10/theme.rb +120 -0
  375. data/lib/shopify_api/rest/resources/2022_10/transaction.rb +181 -0
  376. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +97 -0
  377. data/lib/shopify_api/rest/resources/2022_10/user.rb +138 -0
  378. data/lib/shopify_api/rest/resources/2022_10/variant.rb +212 -0
  379. data/lib/shopify_api/rest/resources/2022_10/webhook.rb +168 -0
  380. data/lib/shopify_api/utils/graphql_proxy.rb +52 -0
  381. data/lib/shopify_api/utils/hmac_validator.rb +44 -0
  382. data/lib/shopify_api/utils/http_utils.rb +17 -0
  383. data/lib/shopify_api/utils/session_utils.rb +152 -0
  384. data/lib/shopify_api/utils/verifiable_query.rb +18 -0
  385. data/lib/shopify_api/version.rb +6 -0
  386. data/lib/shopify_api/webhooks/handler.rb +15 -0
  387. data/lib/shopify_api/webhooks/register_result.rb +14 -0
  388. data/lib/shopify_api/webhooks/registration.rb +73 -0
  389. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +61 -0
  390. data/lib/shopify_api/webhooks/registrations/http.rb +72 -0
  391. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +65 -0
  392. data/lib/shopify_api/webhooks/registry.rb +215 -0
  393. data/lib/shopify_api/webhooks/request.rb +56 -0
  394. data/lib/shopify_api.rb +23 -472
  395. data/service.yml +1 -0
  396. data/shipit.rubygems.yml +1 -0
  397. data/shopify_api.gemspec +43 -102
  398. data/sorbet/config +3 -0
  399. data/sorbet/rbi/gems/activesupport@7.0.1.rbi +654 -0
  400. data/sorbet/rbi/gems/addressable@2.8.0.rbi +290 -0
  401. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  402. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  403. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +2401 -0
  404. data/sorbet/rbi/gems/crack@0.4.5.rbi +57 -0
  405. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +185 -0
  406. data/sorbet/rbi/gems/fakefs@1.4.1.rbi +571 -0
  407. data/sorbet/rbi/gems/hash_diff@1.0.0.rbi +47 -0
  408. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +82 -0
  409. data/sorbet/rbi/gems/httparty@0.20.0.rbi +573 -0
  410. data/sorbet/rbi/gems/i18n@1.8.11.rbi +25 -0
  411. data/sorbet/rbi/gems/jwt@2.3.0.rbi +437 -0
  412. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  413. data/sorbet/rbi/gems/mime-types-data@3.2022.0105.rbi +73 -0
  414. data/sorbet/rbi/gems/mime-types@3.4.1.rbi +295 -0
  415. data/sorbet/rbi/gems/minitest@5.15.0.rbi +541 -0
  416. data/sorbet/rbi/gems/mocha@1.13.0.rbi +986 -0
  417. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +36 -0
  418. data/sorbet/rbi/gems/oj@3.13.11.rbi +274 -0
  419. data/sorbet/rbi/gems/openssl@3.0.0.rbi +581 -0
  420. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  421. data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1741 -0
  422. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  423. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +145 -0
  424. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +157 -0
  425. data/sorbet/rbi/gems/rake@13.0.6.rbi +814 -0
  426. data/sorbet/rbi/gems/rbi@0.0.11.rbi +1646 -0
  427. data/sorbet/rbi/gems/regexp_parser@2.2.0.rbi +1130 -0
  428. data/sorbet/rbi/gems/rexml@3.2.5.rbi +709 -0
  429. data/sorbet/rbi/gems/rubocop-ast@1.15.1.rbi +1921 -0
  430. data/sorbet/rbi/gems/rubocop-shopify@2.4.0.rbi +8 -0
  431. data/sorbet/rbi/gems/rubocop-sorbet@0.6.5.rbi +295 -0
  432. data/sorbet/rbi/gems/rubocop@1.25.1.rbi +13507 -0
  433. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  434. data/sorbet/rbi/gems/securerandom@0.1.1.rbi +10 -0
  435. data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
  436. data/sorbet/rbi/gems/tapioca@0.6.3.rbi +1238 -0
  437. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  438. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +858 -0
  439. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  440. data/sorbet/rbi/gems/unparser@0.6.3.rbi +1816 -0
  441. data/sorbet/rbi/gems/webmock@3.14.0.rbi +683 -0
  442. data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
  443. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
  444. data/sorbet/rbi/gems/yard@0.9.27.rbi +4145 -0
  445. data/sorbet/rbi/gems/zeitwerk@2.5.4.rbi +200 -0
  446. data/sorbet/rbi/shims/fakefs.rbi +1 -0
  447. data/sorbet/rbi/shims/openssl.rb +3 -0
  448. data/sorbet/rbi/todo.rbi +8 -0
  449. data/sorbet/tapioca/config.yml +4 -0
  450. data/sorbet/tapioca/require.rb +20 -0
  451. metadata +736 -80
  452. data/.document +0 -5
  453. data/.gitignore +0 -5
  454. data/CHANGELOG +0 -5
  455. data/README.rdoc +0 -55
  456. data/VERSION +0 -1
  457. data/test/order_test.rb +0 -48
  458. data/test/shopify_api_test.rb +0 -21
  459. data/test/test_helper.rb +0 -28
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 60567c4e9da3da8eb19c903b704297d4cb194a3f63d0644e3273357554e86321
4
+ data.tar.gz: 19ec21a447be21e2f88ca5e4d3bb2978c587857f63976264bcaf998f7dddce47
5
+ SHA512:
6
+ metadata.gz: a09451f3182e19d125d662dad337b737377622079e23c03de6949999812bfdbee83fb319bc6ada35d202343a535536b7dc0622fe9d28a66a04465dca0074187a
7
+ data.tar.gz: 5c1ad7e58afebc440aa712f881c60823c070603b171d1eb80fcb2b3c703b2f0730c1a942d5e3a237cca1adef1d997d087bad716244baca716fd131e4ce8c935b
@@ -0,0 +1 @@
1
+ * @shopify/learn-libs-superteam
@@ -0,0 +1,35 @@
1
+ # Issue summary
2
+
3
+ Write a short description of the issue here ↓
4
+
5
+
6
+
7
+ ## Expected behavior
8
+
9
+ What do you think should happen?
10
+
11
+
12
+
13
+ ## Actual behavior
14
+
15
+ What actually happens?
16
+
17
+ Tip: include an error message (in a `<details></details>` tag) if your issue is related to an error
18
+
19
+
20
+
21
+ ## Steps to reproduce the problem
22
+
23
+ 1.
24
+ 1.
25
+ 1.
26
+
27
+ ## Logs
28
+ If applicable, enable the logs as described in the README, and paste the relevant portion here.
29
+
30
+
31
+
32
+ ## Specifications
33
+
34
+ - `shopify_api` version:
35
+ - Shopify API version used (example: `2020-07`):
@@ -0,0 +1,20 @@
1
+ version: 2
2
+ registries:
3
+ rubygems-server-pkgs-shopify-io:
4
+ type: rubygems-server
5
+ url: https://pkgs.shopify.io
6
+ username: ${{secrets.RUBYGEMS_SERVER_PKGS_SHOPIFY_IO_USERNAME}}
7
+ password: ${{secrets.RUBYGEMS_SERVER_PKGS_SHOPIFY_IO_PASSWORD}}
8
+ github-com:
9
+ type: git
10
+ url: https://github.com
11
+ username: ${{secrets.DEPENDENCIES_GITHUB_USER}}
12
+ password: ${{secrets.DEPENDENCIES_GITHUB_TOKEN}}
13
+ updates:
14
+ - package-ecosystem: bundler
15
+ directory: "/"
16
+ schedule:
17
+ interval: weekly
18
+ open-pull-requests-limit: 100
19
+ insecure-external-code-execution: allow
20
+ registries: '*'
@@ -0,0 +1,20 @@
1
+ ## Description
2
+
3
+ Fixes #<issue-number>
4
+
5
+ Please, include a summary of what the PR is for:
6
+ - What is the problem it is solving?
7
+ - What is the context of these changes?
8
+ - What is the impact of this PR?
9
+
10
+ ## How has this been tested?
11
+
12
+ Please, describe the tests that you ran to verify your changes.
13
+
14
+ ## Checklist:
15
+
16
+ - [ ] My commit message follow the pattern described in [here](https://chris.beams.io/posts/git-commit/)
17
+ - [ ] I have performed a self-review of my own code.
18
+ - [ ] I have added tests that prove my fix is effective or that my feature works.
19
+ - [ ] I have updated the project documentation.
20
+ - [ ] I have added a changelog line.
@@ -0,0 +1,42 @@
1
+ name: CI
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ build:
9
+ name: Ruby ${{ matrix.version }}
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ version:
14
+ - 2.7
15
+ - 3.0
16
+ - 3.1
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - name: Remove Gemfile.lock
20
+ run: |
21
+ rm -f ${GITHUB_WORKSPACE}/Gemfile.lock
22
+ - name: Set up Ruby ${{ matrix.version }}
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: ${{ matrix.version }}
26
+ - name: Run Bundle Commands
27
+ run: |
28
+ bundle config set --with docs
29
+ bundle config set ignore_messages true
30
+ bundle
31
+ - name: Run RuboCop
32
+ run: |
33
+ bundle exec rubocop
34
+ - name: Run Typecheck
35
+ run: |
36
+ bundle exec srb tc
37
+ - name: Run tests
38
+ run: |
39
+ bundle exec rake test:library
40
+ - name: Run REST wrapper tests
41
+ run: |
42
+ bundle exec rake test:rest_wrappers
@@ -0,0 +1,22 @@
1
+ name: Contributor License Agreement (CLA)
2
+
3
+ on:
4
+ pull_request_target:
5
+ types: [opened, synchronize]
6
+ issue_comment:
7
+ types: [created]
8
+
9
+ jobs:
10
+ cla:
11
+ runs-on: ubuntu-latest
12
+ if: |
13
+ (github.event.issue.pull_request
14
+ && !github.event.issue.pull_request.merged_at
15
+ && contains(github.event.comment.body, 'signed')
16
+ )
17
+ || (github.event.pull_request && !github.event.pull_request.merged)
18
+ steps:
19
+ - uses: Shopify/shopify-cla-action@v1
20
+ with:
21
+ github-token: ${{ secrets.GITHUB_TOKEN }}
22
+ cla-token: ${{ secrets.CLA_TOKEN }}
@@ -0,0 +1,20 @@
1
+ name: Close Waiting for Response Issues
2
+ on:
3
+ schedule:
4
+ - cron: "30 1 * * *"
5
+ workflow_dispatch:
6
+ jobs:
7
+ check-need-info:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: close-issues
11
+ uses: actions-cool/issues-helper@v3
12
+ with:
13
+ actions: 'close-issues'
14
+ token: ${{ secrets.GITHUB_TOKEN }}
15
+ labels: 'Waiting for Response'
16
+ inactive-day: 7
17
+ body: |
18
+ We are closing this issue because we did not hear back regarding additional details we needed to resolve this issue. If the issue persists and you are able to provide the missing clarification we need, feel free to respond and reopen this issue.
19
+
20
+ We appreciate your understanding as we try to manage our number of open issues.
@@ -0,0 +1,16 @@
1
+ name: Remove Stale or Waiting Labels
2
+ on:
3
+ issue_comment:
4
+ types: [created]
5
+ workflow_dispatch:
6
+ jobs:
7
+ remove-labels-on-activity:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - uses: actions-ecosystem/action-remove-labels@v1
12
+ if: contains(github.event.issue.labels.*.name, 'Waiting for Response')
13
+ with:
14
+ labels: |
15
+ Waiting for Response
16
+
@@ -0,0 +1,32 @@
1
+ name: Close inactive issues
2
+ on:
3
+ schedule:
4
+ - cron: "30 1 * * *"
5
+
6
+ jobs:
7
+ close-issues:
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ issues: write
11
+ pull-requests: write
12
+ steps:
13
+ - uses: actions/stale@v5
14
+ with:
15
+ days-before-issue-stale: 60
16
+ days-before-issue-close: 14
17
+ operations-per-run: 1000
18
+ stale-issue-label: "Stale"
19
+ stale-issue-message: >
20
+ This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.
21
+ close-issue-message: |
22
+ We are closing this issue because it has been inactive for a few months.
23
+ This probably means that it is not reproducible or it has been fixed in a newer version.
24
+ If it’s an enhancement and hasn’t been taken on since it was submitted, then it seems other issues have taken priority.
25
+
26
+ If you still encounter this issue with the latest stable version, please reopen using the issue template. You can also contribute directly by submitting a pull request– see the [CONTRIBUTING.md](https://github.com/Shopify/shopify-api-ruby/blob/main/CONTRIBUTING.md) file for guidelines
27
+
28
+ Thank you!
29
+ days-before-pr-stale: -1
30
+ days-before-pr-close: -1
31
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
32
+ exempt-issue-labels: "feature request"
data/.rubocop.yml ADDED
@@ -0,0 +1,59 @@
1
+ inherit_gem:
2
+ rubocop-shopify: rubocop.yml
3
+
4
+ require:
5
+ - rubocop-sorbet
6
+
7
+ AllCops:
8
+ TargetRubyVersion: 2.7
9
+ NewCops: enable
10
+ Exclude:
11
+ - "sorbet/**/*"
12
+ - "bin/**/*"
13
+ - "lib/shopify_api/rest/resources/**/*"
14
+ - "test/rest/**/*"
15
+
16
+ Sorbet:
17
+ Enabled: true
18
+ Sorbet/HasSigil:
19
+ Enabled: true
20
+ Exclude:
21
+ - Gemfile*
22
+ Sorbet/StrictSigil:
23
+ Enabled: true
24
+ Exclude:
25
+ - Gemfile*
26
+ - "lib/shopify_api/auth/session.rb"
27
+ - Rakefile
28
+ - "test/**/*"
29
+ Sorbet/TrueSigil:
30
+ Enabled: true
31
+ Exclude:
32
+ - Gemfile*
33
+ - Rakefile
34
+ - "test/**/*"
35
+ Sorbet/ValidSigil:
36
+ Enabled: true
37
+ Sorbet/EnforceSigilOrder:
38
+ Enabled: true
39
+ Sorbet/AllowIncompatibleOverride:
40
+ Enabled: true
41
+ Sorbet/CheckedTrueInSignature:
42
+ Enabled: true
43
+ Sorbet/KeywordArgumentOrdering:
44
+ Enabled: true
45
+ Sorbet/SignatureBuildOrder:
46
+ Enabled: true
47
+ Sorbet/BindingConstantWithoutTypeAlias:
48
+ Enabled: true
49
+ Sorbet/ConstantsFromStrings:
50
+ Enabled: true
51
+ Sorbet/ForbidIncludeConstLiteral:
52
+ Enabled: true
53
+ Sorbet/ForbidSuperclassConstLiteral:
54
+ Enabled: true
55
+
56
+ Layout/EmptyLineAfterGuardClause:
57
+ Enabled: true
58
+ Style/GlobalStdStream:
59
+ Enabled: true
@@ -0,0 +1,110 @@
1
+ # Breaking changes for older versions
2
+
3
+ The breaking changes for the previous major release are listed in the main [README](README.md).
4
+ The breaking changes for older major releases are listed below.
5
+
6
+ ### Breaking change notice for version 8.0.0
7
+
8
+ Version 7.0.0 introduced ApiVersion, and known versions were hardcoded into the gem. Manually defining API versions is no longer required for versions not listed in the gem. Version 8.0.0 removes the following:
9
+ * `ShopifyAPI::ApiVersion::Unstable`
10
+ * `ShopifyAPI::ApiVersion::Release`
11
+ * `ShopifyAPI::ApiVersion.define_version`
12
+
13
+ The following methods on `ApiVersion` have been deprecated:
14
+ - `.coerce_to_version` deprecated. use `.find_version`
15
+ - `.define_known_versions` deprecated. Use `.fetch_known_versions`
16
+ - `.clear_defined_versions` deprecated. Use. `.clear_known_versions`
17
+ - `.latest_stable_version` deprecated. Use `ShopifyAPI::Meta.admin_versions.find(&:latest_supported)` (this fetches info from Shopify servers. No authentication required.)
18
+ - `#name` deprecated. Use `#handle`
19
+ - `#stable?` deprecated. Use `#supported?`
20
+
21
+ Version 8.0.0 introduces a _version lookup mode_. By default, `ShopifyAPI::ApiVersion.version_lookup_mode` is `:define_on_unknown`. When setting the api_version on `Session` or `Base`, the `api_version` attribute takes a version handle (i.e. `'2019-07'` or `:unstable`) and sets an instance of `ShopifyAPI::ApiVersion` matching the handle. When the version_lookup_mode is set to `:define_on_unknown`, any handle will naïvely create a new `ApiVersion` if the version is not in the known versions returned by `ShopifyAPI::ApiVersion.versions`.
22
+
23
+ To ensure you're setting only known and active versions, call :
24
+
25
+ ```ruby
26
+ ShopifyAPI::ApiVersion.version_lookup_mode = :raise_on_unknown
27
+ ShopifyAPI::ApiVersion.fetch_known_versions
28
+ ```
29
+
30
+ Known and active versions are fetched from https://app.shopify.com/services/apis.json and cached. Trying to use a version outside this cached set will raise an error. To switch back to naïve lookup and create a version if one is not found, call `ShopifyAPI::ApiVersion.version_lookup_mode = :define_on_unknown`.
31
+
32
+ ### Breaking change notice for version 7.0.0
33
+
34
+ #### Changes to ShopifyAPI::Session
35
+ When creating sessions, `api_version`is now required and uses keyword arguments.
36
+
37
+ To upgrade your use of ShopifyAPI you will need to make the following changes.
38
+
39
+ ```ruby
40
+ ShopifyAPI::Session.new(domain, token, extras)
41
+ ```
42
+ is now
43
+ ```ruby
44
+ ShopifyAPI::Session.new(domain: domain, token: token, api_version: api_version, extras: extras)
45
+ ```
46
+ Note `extras` is still optional. The other arguments are required.
47
+
48
+ ```ruby
49
+ ShopifyAPI::Session.temp(domain, token, extras) do
50
+ ...
51
+ end
52
+ ```
53
+ is now
54
+ ```ruby
55
+ ShopifyAPI::Session.temp(domain: domain, token: token, api_version: api_version) do
56
+ ...
57
+ end
58
+ ```
59
+
60
+ For example, if you want to use the `2019-04` version, you will create a session like this:
61
+ ```ruby
62
+ session = ShopifyAPI::Session.new(domain: domain, token: token, api_version: '2019-04')
63
+ ```
64
+ if you want to use the `unstable` version, you will create a session like this:
65
+ ```ruby
66
+ session = ShopifyAPI::Session.new(domain: domain, token: token, api_version: :unstable)
67
+ ```
68
+
69
+ #### Changes to how to define resources
70
+
71
+ If you have defined or customized Resources, classes that extend `ShopifyAPI::Base`:
72
+ The use of `self.prefix =` has been deprecated; you should now use `self.resource =` and not include `/admin`.
73
+ For example, if you specified a prefix like this before:
74
+ ```ruby
75
+ class MyResource < ShopifyAPI::Base
76
+ self.prefix = '/admin/shop/'
77
+ end
78
+ ```
79
+ You will update this to:
80
+ ```ruby
81
+ class MyResource < ShopifyAPI::Base
82
+ self.resource_prefix = 'shop/'
83
+ end
84
+ ```
85
+
86
+ #### URL construction
87
+
88
+ If you have specified any full paths for API calls in find
89
+ ```ruby
90
+ def self.current(options={})
91
+ find(:one, options.merge(from: "/admin/shop.#{format.extension}"))
92
+ end
93
+ ```
94
+ would be changed to
95
+
96
+ ```ruby
97
+ def self.current(options = {})
98
+ find(:one, options.merge(
99
+ from: api_version.construct_api_path("shop.#{format.extension}")
100
+ ))
101
+ end
102
+ ```
103
+
104
+ #### URLs that have not changed
105
+
106
+ - OAuth URLs for `authorize`, getting the `access_token` from a code, `access_scopes`, and using a `refresh_token` have _not_ changed.
107
+ - get: `/admin/oauth/authorize`
108
+ - post: `/admin/oauth/access_token`
109
+ - get: `/admin/oauth/access_scopes`
110
+ - URLs for the merchant’s web admin have _not_ changed. For example: to send the merchant to the product page the url is still `/admin/product/<id>`