shopify_api 9.0.4 → 10.1.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 (758) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/ISSUE_TEMPLATE.md +35 -0
  4. data/.github/dependabot.yml +20 -0
  5. data/.github/probots.yml +1 -1
  6. data/.github/pull_request_template.md +20 -0
  7. data/.github/workflows/build.yml +43 -0
  8. data/.rubocop.yml +56 -5
  9. data/CHANGELOG.md +281 -198
  10. data/CONTRIBUTING.md +4 -3
  11. data/Gemfile +8 -1
  12. data/Gemfile.lock +138 -0
  13. data/LICENSE +2 -2
  14. data/README.md +90 -484
  15. data/RELEASING.md +18 -0
  16. data/Rakefile +15 -36
  17. data/SECURITY.md +59 -0
  18. data/bin/tapioca +29 -0
  19. data/dev.yml +32 -0
  20. data/docs/README.md +13 -0
  21. data/docs/getting_started.md +53 -0
  22. data/docs/issues.md +39 -0
  23. data/docs/usage/graphql.md +115 -0
  24. data/docs/usage/graphql_storefront.md +42 -0
  25. data/docs/usage/oauth.md +105 -0
  26. data/docs/usage/rest.md +137 -0
  27. data/docs/usage/session_storage.md +46 -0
  28. data/docs/usage/webhooks.md +98 -0
  29. data/lib/shopify_api/admin_versions.rb +20 -0
  30. data/lib/shopify_api/auth/associated_user.rb +36 -0
  31. data/lib/shopify_api/auth/auth_scopes.rb +75 -0
  32. data/lib/shopify_api/auth/file_session_storage.rb +70 -0
  33. data/lib/shopify_api/auth/jwt_payload.rb +72 -0
  34. data/lib/shopify_api/auth/oauth/auth_query.rb +47 -0
  35. data/lib/shopify_api/auth/oauth/session_cookie.rb +28 -0
  36. data/lib/shopify_api/auth/oauth.rb +129 -0
  37. data/lib/shopify_api/auth/session.rb +119 -0
  38. data/lib/shopify_api/auth/session_storage.rb +30 -0
  39. data/lib/shopify_api/clients/graphql/admin.rb +15 -0
  40. data/lib/shopify_api/clients/graphql/client.rb +40 -0
  41. data/lib/shopify_api/clients/graphql/storefront.rb +35 -0
  42. data/lib/shopify_api/clients/http_client.rb +100 -0
  43. data/lib/shopify_api/clients/http_request.rb +35 -0
  44. data/lib/shopify_api/clients/http_response.rb +66 -0
  45. data/lib/shopify_api/clients/rest/admin.rb +118 -0
  46. data/lib/shopify_api/context.rb +151 -0
  47. data/lib/shopify_api/errors/context_not_setup_error.rb +9 -0
  48. data/lib/shopify_api/errors/cookie_not_found_error.rb +9 -0
  49. data/lib/shopify_api/errors/http_response_error.rb +19 -0
  50. data/lib/shopify_api/errors/invalid_graphql_request_error.rb +9 -0
  51. data/lib/shopify_api/errors/invalid_http_request_error.rb +9 -0
  52. data/lib/shopify_api/errors/invalid_jwt_token_error.rb +9 -0
  53. data/lib/shopify_api/errors/invalid_oauth_error.rb +9 -0
  54. data/lib/shopify_api/errors/invalid_webhook_error.rb +9 -0
  55. data/lib/shopify_api/errors/invalid_webhook_registration_error.rb +9 -0
  56. data/lib/shopify_api/errors/max_http_retries_exceeded_error.rb +9 -0
  57. data/lib/shopify_api/errors/missing_jwt_token_error.rb +9 -0
  58. data/lib/shopify_api/errors/no_active_session_error.rb +9 -0
  59. data/lib/shopify_api/errors/no_session_cookie_error.rb +9 -0
  60. data/lib/shopify_api/errors/no_webhook_handler.rb +9 -0
  61. data/lib/shopify_api/errors/private_app_error.rb +9 -0
  62. data/lib/shopify_api/errors/request_access_token_error.rb +9 -0
  63. data/lib/shopify_api/errors/session_not_found_error.rb +9 -0
  64. data/lib/shopify_api/errors/session_storage_error.rb +9 -0
  65. data/lib/shopify_api/errors/unsupported_oauth_error.rb +9 -0
  66. data/lib/shopify_api/errors/unsupported_version_error.rb +9 -0
  67. data/lib/shopify_api/errors/webhook_registration_error.rb +9 -0
  68. data/lib/shopify_api/inflector.rb +17 -0
  69. data/lib/shopify_api/rest/base.rb +387 -0
  70. data/lib/shopify_api/rest/base_errors.rb +32 -0
  71. data/lib/shopify_api/rest/resources/2021_07/abandoned_checkout.rb +189 -0
  72. data/lib/shopify_api/rest/resources/2021_07/access_scope.rb +58 -0
  73. data/lib/shopify_api/rest/resources/2021_07/android_pay_key.rb +77 -0
  74. data/lib/shopify_api/rest/resources/2021_07/apple_pay_certificate.rb +105 -0
  75. data/lib/shopify_api/rest/resources/2021_07/application_charge.rb +104 -0
  76. data/lib/shopify_api/rest/resources/2021_07/application_credit.rb +87 -0
  77. data/lib/shopify_api/rest/resources/2021_07/article.rb +265 -0
  78. data/lib/shopify_api/rest/resources/2021_07/asset.rb +118 -0
  79. data/lib/shopify_api/rest/resources/2021_07/assigned_fulfillment_order.rb +79 -0
  80. data/lib/shopify_api/rest/resources/2021_07/balance.rb +50 -0
  81. data/lib/shopify_api/rest/resources/2021_07/blog.rb +162 -0
  82. data/lib/shopify_api/rest/resources/2021_07/cancellation_request.rb +83 -0
  83. data/lib/shopify_api/rest/resources/2021_07/carrier_service.rb +116 -0
  84. data/lib/shopify_api/rest/resources/2021_07/checkout.rb +209 -0
  85. data/lib/shopify_api/rest/resources/2021_07/collect.rb +142 -0
  86. data/lib/shopify_api/rest/resources/2021_07/collection.rb +110 -0
  87. data/lib/shopify_api/rest/resources/2021_07/collection_listing.rb +155 -0
  88. data/lib/shopify_api/rest/resources/2021_07/comment.rb +283 -0
  89. data/lib/shopify_api/rest/resources/2021_07/country.rb +137 -0
  90. data/lib/shopify_api/rest/resources/2021_07/currency.rb +57 -0
  91. data/lib/shopify_api/rest/resources/2021_07/custom_collection.rb +187 -0
  92. data/lib/shopify_api/rest/resources/2021_07/customer.rb +289 -0
  93. data/lib/shopify_api/rest/resources/2021_07/customer_address.rb +201 -0
  94. data/lib/shopify_api/rest/resources/2021_07/customer_saved_search.rb +169 -0
  95. data/lib/shopify_api/rest/resources/2021_07/deprecated_api_call.rb +57 -0
  96. data/lib/shopify_api/rest/resources/2021_07/discount_code.rb +219 -0
  97. data/lib/shopify_api/rest/resources/2021_07/dispute.rb +111 -0
  98. data/lib/shopify_api/rest/resources/2021_07/draft_order.rb +270 -0
  99. data/lib/shopify_api/rest/resources/2021_07/event.rb +148 -0
  100. data/lib/shopify_api/rest/resources/2021_07/fulfillment.rb +265 -0
  101. data/lib/shopify_api/rest/resources/2021_07/fulfillment_event.rb +166 -0
  102. data/lib/shopify_api/rest/resources/2021_07/fulfillment_order.rb +228 -0
  103. data/lib/shopify_api/rest/resources/2021_07/fulfillment_request.rb +83 -0
  104. data/lib/shopify_api/rest/resources/2021_07/fulfillment_service.rb +130 -0
  105. data/lib/shopify_api/rest/resources/2021_07/gift_card.rb +207 -0
  106. data/lib/shopify_api/rest/resources/2021_07/gift_card_adjustment.rb +118 -0
  107. data/lib/shopify_api/rest/resources/2021_07/image.rb +157 -0
  108. data/lib/shopify_api/rest/resources/2021_07/inventory_item.rb +108 -0
  109. data/lib/shopify_api/rest/resources/2021_07/inventory_level.rb +179 -0
  110. data/lib/shopify_api/rest/resources/2021_07/location.rb +167 -0
  111. data/lib/shopify_api/rest/resources/2021_07/locations_for_move.rb +56 -0
  112. data/lib/shopify_api/rest/resources/2021_07/marketing_event.rb +209 -0
  113. data/lib/shopify_api/rest/resources/2021_07/metafield.rb +342 -0
  114. data/lib/shopify_api/rest/resources/2021_07/mobile_platform_application.rb +110 -0
  115. data/lib/shopify_api/rest/resources/2021_07/order.rb +470 -0
  116. data/lib/shopify_api/rest/resources/2021_07/order_risk.rb +135 -0
  117. data/lib/shopify_api/rest/resources/2021_07/page.rb +194 -0
  118. data/lib/shopify_api/rest/resources/2021_07/payment.rb +140 -0
  119. data/lib/shopify_api/rest/resources/2021_07/payment_gateway.rb +143 -0
  120. data/lib/shopify_api/rest/resources/2021_07/payment_transaction.rb +107 -0
  121. data/lib/shopify_api/rest/resources/2021_07/payout.rb +97 -0
  122. data/lib/shopify_api/rest/resources/2021_07/policy.rb +69 -0
  123. data/lib/shopify_api/rest/resources/2021_07/price_rule.rb +223 -0
  124. data/lib/shopify_api/rest/resources/2021_07/product.rb +223 -0
  125. data/lib/shopify_api/rest/resources/2021_07/product_listing.rb +196 -0
  126. data/lib/shopify_api/rest/resources/2021_07/product_resource_feedback.rb +88 -0
  127. data/lib/shopify_api/rest/resources/2021_07/province.rb +132 -0
  128. data/lib/shopify_api/rest/resources/2021_07/recurring_application_charge.rb +167 -0
  129. data/lib/shopify_api/rest/resources/2021_07/redirect.rb +139 -0
  130. data/lib/shopify_api/rest/resources/2021_07/refund.rb +151 -0
  131. data/lib/shopify_api/rest/resources/2021_07/report.rb +121 -0
  132. data/lib/shopify_api/rest/resources/2021_07/resource_feedback.rb +73 -0
  133. data/lib/shopify_api/rest/resources/2021_07/script_tag.rb +155 -0
  134. data/lib/shopify_api/rest/resources/2021_07/shipping_zone.rb +83 -0
  135. data/lib/shopify_api/rest/resources/2021_07/shop.rb +218 -0
  136. data/lib/shopify_api/rest/resources/2021_07/smart_collection.rb +216 -0
  137. data/lib/shopify_api/rest/resources/2021_07/storefront_access_token.rb +87 -0
  138. data/lib/shopify_api/rest/resources/2021_07/tender_transaction.rb +93 -0
  139. data/lib/shopify_api/rest/resources/2021_07/theme.rb +120 -0
  140. data/lib/shopify_api/rest/resources/2021_07/transaction.rb +178 -0
  141. data/lib/shopify_api/rest/resources/2021_07/usage_charge.rb +97 -0
  142. data/lib/shopify_api/rest/resources/2021_07/user.rb +138 -0
  143. data/lib/shopify_api/rest/resources/2021_07/variant.rb +212 -0
  144. data/lib/shopify_api/rest/resources/2021_07/webhook.rb +168 -0
  145. data/lib/shopify_api/rest/resources/2021_10/abandoned_checkout.rb +189 -0
  146. data/lib/shopify_api/rest/resources/2021_10/access_scope.rb +58 -0
  147. data/lib/shopify_api/rest/resources/2021_10/android_pay_key.rb +77 -0
  148. data/lib/shopify_api/rest/resources/2021_10/apple_pay_certificate.rb +105 -0
  149. data/lib/shopify_api/rest/resources/2021_10/application_charge.rb +104 -0
  150. data/lib/shopify_api/rest/resources/2021_10/application_credit.rb +87 -0
  151. data/lib/shopify_api/rest/resources/2021_10/article.rb +265 -0
  152. data/lib/shopify_api/rest/resources/2021_10/asset.rb +118 -0
  153. data/lib/shopify_api/rest/resources/2021_10/assigned_fulfillment_order.rb +79 -0
  154. data/lib/shopify_api/rest/resources/2021_10/balance.rb +50 -0
  155. data/lib/shopify_api/rest/resources/2021_10/blog.rb +162 -0
  156. data/lib/shopify_api/rest/resources/2021_10/cancellation_request.rb +83 -0
  157. data/lib/shopify_api/rest/resources/2021_10/carrier_service.rb +116 -0
  158. data/lib/shopify_api/rest/resources/2021_10/checkout.rb +209 -0
  159. data/lib/shopify_api/rest/resources/2021_10/collect.rb +142 -0
  160. data/lib/shopify_api/rest/resources/2021_10/collection.rb +110 -0
  161. data/lib/shopify_api/rest/resources/2021_10/collection_listing.rb +155 -0
  162. data/lib/shopify_api/rest/resources/2021_10/comment.rb +283 -0
  163. data/lib/shopify_api/rest/resources/2021_10/country.rb +137 -0
  164. data/lib/shopify_api/rest/resources/2021_10/currency.rb +57 -0
  165. data/lib/shopify_api/rest/resources/2021_10/custom_collection.rb +187 -0
  166. data/lib/shopify_api/rest/resources/2021_10/customer.rb +292 -0
  167. data/lib/shopify_api/rest/resources/2021_10/customer_address.rb +201 -0
  168. data/lib/shopify_api/rest/resources/2021_10/customer_saved_search.rb +169 -0
  169. data/lib/shopify_api/rest/resources/2021_10/deprecated_api_call.rb +57 -0
  170. data/lib/shopify_api/rest/resources/2021_10/discount_code.rb +219 -0
  171. data/lib/shopify_api/rest/resources/2021_10/dispute.rb +111 -0
  172. data/lib/shopify_api/rest/resources/2021_10/draft_order.rb +273 -0
  173. data/lib/shopify_api/rest/resources/2021_10/event.rb +148 -0
  174. data/lib/shopify_api/rest/resources/2021_10/fulfillment.rb +268 -0
  175. data/lib/shopify_api/rest/resources/2021_10/fulfillment_event.rb +166 -0
  176. data/lib/shopify_api/rest/resources/2021_10/fulfillment_order.rb +281 -0
  177. data/lib/shopify_api/rest/resources/2021_10/fulfillment_request.rb +83 -0
  178. data/lib/shopify_api/rest/resources/2021_10/fulfillment_service.rb +130 -0
  179. data/lib/shopify_api/rest/resources/2021_10/gift_card.rb +207 -0
  180. data/lib/shopify_api/rest/resources/2021_10/gift_card_adjustment.rb +118 -0
  181. data/lib/shopify_api/rest/resources/2021_10/image.rb +157 -0
  182. data/lib/shopify_api/rest/resources/2021_10/inventory_item.rb +108 -0
  183. data/lib/shopify_api/rest/resources/2021_10/inventory_level.rb +179 -0
  184. data/lib/shopify_api/rest/resources/2021_10/location.rb +167 -0
  185. data/lib/shopify_api/rest/resources/2021_10/locations_for_move.rb +56 -0
  186. data/lib/shopify_api/rest/resources/2021_10/marketing_event.rb +209 -0
  187. data/lib/shopify_api/rest/resources/2021_10/metafield.rb +342 -0
  188. data/lib/shopify_api/rest/resources/2021_10/mobile_platform_application.rb +110 -0
  189. data/lib/shopify_api/rest/resources/2021_10/order.rb +473 -0
  190. data/lib/shopify_api/rest/resources/2021_10/order_risk.rb +135 -0
  191. data/lib/shopify_api/rest/resources/2021_10/page.rb +194 -0
  192. data/lib/shopify_api/rest/resources/2021_10/payment.rb +140 -0
  193. data/lib/shopify_api/rest/resources/2021_10/payment_gateway.rb +143 -0
  194. data/lib/shopify_api/rest/resources/2021_10/payment_transaction.rb +107 -0
  195. data/lib/shopify_api/rest/resources/2021_10/payout.rb +97 -0
  196. data/lib/shopify_api/rest/resources/2021_10/policy.rb +69 -0
  197. data/lib/shopify_api/rest/resources/2021_10/price_rule.rb +223 -0
  198. data/lib/shopify_api/rest/resources/2021_10/product.rb +223 -0
  199. data/lib/shopify_api/rest/resources/2021_10/product_listing.rb +196 -0
  200. data/lib/shopify_api/rest/resources/2021_10/product_resource_feedback.rb +88 -0
  201. data/lib/shopify_api/rest/resources/2021_10/province.rb +132 -0
  202. data/lib/shopify_api/rest/resources/2021_10/recurring_application_charge.rb +167 -0
  203. data/lib/shopify_api/rest/resources/2021_10/redirect.rb +139 -0
  204. data/lib/shopify_api/rest/resources/2021_10/refund.rb +151 -0
  205. data/lib/shopify_api/rest/resources/2021_10/report.rb +121 -0
  206. data/lib/shopify_api/rest/resources/2021_10/resource_feedback.rb +73 -0
  207. data/lib/shopify_api/rest/resources/2021_10/script_tag.rb +155 -0
  208. data/lib/shopify_api/rest/resources/2021_10/shipping_zone.rb +83 -0
  209. data/lib/shopify_api/rest/resources/2021_10/shop.rb +218 -0
  210. data/lib/shopify_api/rest/resources/2021_10/smart_collection.rb +216 -0
  211. data/lib/shopify_api/rest/resources/2021_10/storefront_access_token.rb +87 -0
  212. data/lib/shopify_api/rest/resources/2021_10/tender_transaction.rb +93 -0
  213. data/lib/shopify_api/rest/resources/2021_10/theme.rb +120 -0
  214. data/lib/shopify_api/rest/resources/2021_10/transaction.rb +181 -0
  215. data/lib/shopify_api/rest/resources/2021_10/usage_charge.rb +97 -0
  216. data/lib/shopify_api/rest/resources/2021_10/user.rb +138 -0
  217. data/lib/shopify_api/rest/resources/2021_10/variant.rb +212 -0
  218. data/lib/shopify_api/rest/resources/2021_10/webhook.rb +168 -0
  219. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +189 -0
  220. data/lib/shopify_api/rest/resources/2022_01/access_scope.rb +58 -0
  221. data/lib/shopify_api/rest/resources/2022_01/android_pay_key.rb +77 -0
  222. data/lib/shopify_api/rest/resources/2022_01/apple_pay_certificate.rb +105 -0
  223. data/lib/shopify_api/rest/resources/2022_01/application_charge.rb +104 -0
  224. data/lib/shopify_api/rest/resources/2022_01/application_credit.rb +87 -0
  225. data/lib/shopify_api/rest/resources/2022_01/article.rb +265 -0
  226. data/lib/shopify_api/rest/resources/2022_01/asset.rb +118 -0
  227. data/lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb +79 -0
  228. data/lib/shopify_api/rest/resources/2022_01/balance.rb +50 -0
  229. data/lib/shopify_api/rest/resources/2022_01/blog.rb +162 -0
  230. data/lib/shopify_api/rest/resources/2022_01/cancellation_request.rb +83 -0
  231. data/lib/shopify_api/rest/resources/2022_01/carrier_service.rb +116 -0
  232. data/lib/shopify_api/rest/resources/2022_01/checkout.rb +209 -0
  233. data/lib/shopify_api/rest/resources/2022_01/collect.rb +142 -0
  234. data/lib/shopify_api/rest/resources/2022_01/collection.rb +110 -0
  235. data/lib/shopify_api/rest/resources/2022_01/collection_listing.rb +155 -0
  236. data/lib/shopify_api/rest/resources/2022_01/comment.rb +283 -0
  237. data/lib/shopify_api/rest/resources/2022_01/country.rb +137 -0
  238. data/lib/shopify_api/rest/resources/2022_01/currency.rb +57 -0
  239. data/lib/shopify_api/rest/resources/2022_01/custom_collection.rb +187 -0
  240. data/lib/shopify_api/rest/resources/2022_01/customer.rb +292 -0
  241. data/lib/shopify_api/rest/resources/2022_01/customer_address.rb +201 -0
  242. data/lib/shopify_api/rest/resources/2022_01/customer_saved_search.rb +169 -0
  243. data/lib/shopify_api/rest/resources/2022_01/deprecated_api_call.rb +57 -0
  244. data/lib/shopify_api/rest/resources/2022_01/discount_code.rb +219 -0
  245. data/lib/shopify_api/rest/resources/2022_01/dispute.rb +111 -0
  246. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +273 -0
  247. data/lib/shopify_api/rest/resources/2022_01/event.rb +148 -0
  248. data/lib/shopify_api/rest/resources/2022_01/fulfillment.rb +268 -0
  249. data/lib/shopify_api/rest/resources/2022_01/fulfillment_event.rb +166 -0
  250. data/lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb +281 -0
  251. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +83 -0
  252. data/lib/shopify_api/rest/resources/2022_01/fulfillment_service.rb +130 -0
  253. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +207 -0
  254. data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +118 -0
  255. data/lib/shopify_api/rest/resources/2022_01/image.rb +157 -0
  256. data/lib/shopify_api/rest/resources/2022_01/inventory_item.rb +108 -0
  257. data/lib/shopify_api/rest/resources/2022_01/inventory_level.rb +179 -0
  258. data/lib/shopify_api/rest/resources/2022_01/location.rb +167 -0
  259. data/lib/shopify_api/rest/resources/2022_01/locations_for_move.rb +56 -0
  260. data/lib/shopify_api/rest/resources/2022_01/marketing_event.rb +209 -0
  261. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +342 -0
  262. data/lib/shopify_api/rest/resources/2022_01/mobile_platform_application.rb +110 -0
  263. data/lib/shopify_api/rest/resources/2022_01/order.rb +473 -0
  264. data/lib/shopify_api/rest/resources/2022_01/order_risk.rb +135 -0
  265. data/lib/shopify_api/rest/resources/2022_01/page.rb +194 -0
  266. data/lib/shopify_api/rest/resources/2022_01/payment.rb +140 -0
  267. data/lib/shopify_api/rest/resources/2022_01/payment_gateway.rb +143 -0
  268. data/lib/shopify_api/rest/resources/2022_01/payment_transaction.rb +107 -0
  269. data/lib/shopify_api/rest/resources/2022_01/payout.rb +97 -0
  270. data/lib/shopify_api/rest/resources/2022_01/policy.rb +69 -0
  271. data/lib/shopify_api/rest/resources/2022_01/price_rule.rb +223 -0
  272. data/lib/shopify_api/rest/resources/2022_01/product.rb +223 -0
  273. data/lib/shopify_api/rest/resources/2022_01/product_listing.rb +196 -0
  274. data/lib/shopify_api/rest/resources/2022_01/product_resource_feedback.rb +88 -0
  275. data/lib/shopify_api/rest/resources/2022_01/province.rb +132 -0
  276. data/lib/shopify_api/rest/resources/2022_01/recurring_application_charge.rb +167 -0
  277. data/lib/shopify_api/rest/resources/2022_01/redirect.rb +139 -0
  278. data/lib/shopify_api/rest/resources/2022_01/refund.rb +151 -0
  279. data/lib/shopify_api/rest/resources/2022_01/report.rb +121 -0
  280. data/lib/shopify_api/rest/resources/2022_01/resource_feedback.rb +73 -0
  281. data/lib/shopify_api/rest/resources/2022_01/script_tag.rb +155 -0
  282. data/lib/shopify_api/rest/resources/2022_01/shipping_zone.rb +83 -0
  283. data/lib/shopify_api/rest/resources/2022_01/shop.rb +218 -0
  284. data/lib/shopify_api/rest/resources/2022_01/smart_collection.rb +216 -0
  285. data/lib/shopify_api/rest/resources/2022_01/storefront_access_token.rb +87 -0
  286. data/lib/shopify_api/rest/resources/2022_01/tender_transaction.rb +93 -0
  287. data/lib/shopify_api/rest/resources/2022_01/theme.rb +120 -0
  288. data/lib/shopify_api/rest/resources/2022_01/transaction.rb +181 -0
  289. data/lib/shopify_api/rest/resources/2022_01/usage_charge.rb +97 -0
  290. data/lib/shopify_api/rest/resources/2022_01/user.rb +138 -0
  291. data/lib/shopify_api/rest/resources/2022_01/variant.rb +212 -0
  292. data/lib/shopify_api/rest/resources/2022_01/webhook.rb +168 -0
  293. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +189 -0
  294. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +58 -0
  295. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +77 -0
  296. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +105 -0
  297. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +104 -0
  298. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +87 -0
  299. data/lib/shopify_api/rest/resources/2022_04/article.rb +265 -0
  300. data/lib/shopify_api/rest/resources/2022_04/asset.rb +118 -0
  301. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +79 -0
  302. data/lib/shopify_api/rest/resources/2022_04/balance.rb +50 -0
  303. data/lib/shopify_api/rest/resources/2022_04/blog.rb +162 -0
  304. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +83 -0
  305. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +116 -0
  306. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +209 -0
  307. data/lib/shopify_api/rest/resources/2022_04/collect.rb +142 -0
  308. data/lib/shopify_api/rest/resources/2022_04/collection.rb +110 -0
  309. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +155 -0
  310. data/lib/shopify_api/rest/resources/2022_04/comment.rb +283 -0
  311. data/lib/shopify_api/rest/resources/2022_04/country.rb +137 -0
  312. data/lib/shopify_api/rest/resources/2022_04/currency.rb +57 -0
  313. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +187 -0
  314. data/lib/shopify_api/rest/resources/2022_04/customer.rb +295 -0
  315. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +201 -0
  316. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +169 -0
  317. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +57 -0
  318. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +219 -0
  319. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +111 -0
  320. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +273 -0
  321. data/lib/shopify_api/rest/resources/2022_04/event.rb +148 -0
  322. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +268 -0
  323. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +166 -0
  324. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +284 -0
  325. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +83 -0
  326. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +130 -0
  327. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +207 -0
  328. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +118 -0
  329. data/lib/shopify_api/rest/resources/2022_04/image.rb +157 -0
  330. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +108 -0
  331. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +179 -0
  332. data/lib/shopify_api/rest/resources/2022_04/location.rb +167 -0
  333. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +56 -0
  334. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +209 -0
  335. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +342 -0
  336. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +110 -0
  337. data/lib/shopify_api/rest/resources/2022_04/order.rb +473 -0
  338. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +135 -0
  339. data/lib/shopify_api/rest/resources/2022_04/page.rb +194 -0
  340. data/lib/shopify_api/rest/resources/2022_04/payment.rb +140 -0
  341. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +143 -0
  342. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +107 -0
  343. data/lib/shopify_api/rest/resources/2022_04/payout.rb +97 -0
  344. data/lib/shopify_api/rest/resources/2022_04/policy.rb +69 -0
  345. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +223 -0
  346. data/lib/shopify_api/rest/resources/2022_04/product.rb +223 -0
  347. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +196 -0
  348. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +88 -0
  349. data/lib/shopify_api/rest/resources/2022_04/province.rb +132 -0
  350. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +167 -0
  351. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +139 -0
  352. data/lib/shopify_api/rest/resources/2022_04/refund.rb +151 -0
  353. data/lib/shopify_api/rest/resources/2022_04/report.rb +121 -0
  354. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +73 -0
  355. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +155 -0
  356. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +83 -0
  357. data/lib/shopify_api/rest/resources/2022_04/shop.rb +218 -0
  358. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +216 -0
  359. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +87 -0
  360. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +93 -0
  361. data/lib/shopify_api/rest/resources/2022_04/theme.rb +120 -0
  362. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +181 -0
  363. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +97 -0
  364. data/lib/shopify_api/rest/resources/2022_04/user.rb +138 -0
  365. data/lib/shopify_api/rest/resources/2022_04/variant.rb +212 -0
  366. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +168 -0
  367. data/lib/shopify_api/utils/graphql_proxy.rb +52 -0
  368. data/lib/shopify_api/utils/hmac_validator.rb +34 -0
  369. data/lib/shopify_api/utils/http_utils.rb +17 -0
  370. data/lib/shopify_api/utils/session_utils.rb +135 -0
  371. data/lib/shopify_api/utils/verifiable_query.rb +18 -0
  372. data/lib/shopify_api/version.rb +4 -1
  373. data/lib/shopify_api/webhooks/handler.rb +15 -0
  374. data/lib/shopify_api/webhooks/register_result.rb +14 -0
  375. data/lib/shopify_api/webhooks/registration.rb +73 -0
  376. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +61 -0
  377. data/lib/shopify_api/webhooks/registrations/http.rb +66 -0
  378. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +65 -0
  379. data/lib/shopify_api/webhooks/registry.rb +215 -0
  380. data/lib/shopify_api/webhooks/request.rb +56 -0
  381. data/lib/shopify_api.rb +20 -30
  382. data/service.yml +0 -6
  383. data/shipit.rubygems.yml +1 -1
  384. data/shopify_api.gemspec +32 -22
  385. data/sorbet/config +3 -0
  386. data/sorbet/rbi/gems/activesupport@7.0.1.rbi +654 -0
  387. data/sorbet/rbi/gems/addressable@2.8.0.rbi +290 -0
  388. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  389. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  390. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +2401 -0
  391. data/sorbet/rbi/gems/crack@0.4.5.rbi +57 -0
  392. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +185 -0
  393. data/sorbet/rbi/gems/fakefs@1.4.1.rbi +571 -0
  394. data/sorbet/rbi/gems/hash_diff@1.0.0.rbi +47 -0
  395. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +82 -0
  396. data/sorbet/rbi/gems/httparty@0.20.0.rbi +573 -0
  397. data/sorbet/rbi/gems/i18n@1.8.11.rbi +25 -0
  398. data/sorbet/rbi/gems/jwt@2.3.0.rbi +437 -0
  399. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  400. data/sorbet/rbi/gems/mime-types-data@3.2022.0105.rbi +73 -0
  401. data/sorbet/rbi/gems/mime-types@3.4.1.rbi +295 -0
  402. data/sorbet/rbi/gems/minitest@5.15.0.rbi +541 -0
  403. data/sorbet/rbi/gems/mocha@1.13.0.rbi +986 -0
  404. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +36 -0
  405. data/sorbet/rbi/gems/oj@3.13.11.rbi +274 -0
  406. data/sorbet/rbi/gems/openssl@3.0.0.rbi +581 -0
  407. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  408. data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1741 -0
  409. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  410. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +145 -0
  411. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +157 -0
  412. data/sorbet/rbi/gems/rake@13.0.6.rbi +814 -0
  413. data/sorbet/rbi/gems/rbi@0.0.11.rbi +1646 -0
  414. data/sorbet/rbi/gems/regexp_parser@2.2.0.rbi +1130 -0
  415. data/sorbet/rbi/gems/rexml@3.2.5.rbi +709 -0
  416. data/sorbet/rbi/gems/rubocop-ast@1.15.1.rbi +1921 -0
  417. data/sorbet/rbi/gems/rubocop-shopify@2.4.0.rbi +8 -0
  418. data/sorbet/rbi/gems/rubocop-sorbet@0.6.5.rbi +295 -0
  419. data/sorbet/rbi/gems/rubocop@1.25.1.rbi +13507 -0
  420. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  421. data/sorbet/rbi/gems/securerandom@0.1.1.rbi +10 -0
  422. data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
  423. data/sorbet/rbi/gems/tapioca@0.6.3.rbi +1238 -0
  424. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  425. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +858 -0
  426. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  427. data/sorbet/rbi/gems/unparser@0.6.3.rbi +1816 -0
  428. data/sorbet/rbi/gems/webmock@3.14.0.rbi +683 -0
  429. data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
  430. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
  431. data/sorbet/rbi/gems/yard@0.9.27.rbi +4145 -0
  432. data/sorbet/rbi/gems/zeitwerk@2.5.4.rbi +200 -0
  433. data/sorbet/rbi/shims/fakefs.rbi +1 -0
  434. data/sorbet/rbi/shims/openssl.rb +3 -0
  435. data/sorbet/rbi/todo.rbi +9 -0
  436. data/sorbet/tapioca/config.yml +4 -0
  437. data/sorbet/tapioca/require.rb +20 -0
  438. metadata +519 -356
  439. data/.document +0 -5
  440. data/.gitignore +0 -13
  441. data/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +0 -1027
  442. data/.travis.yml +0 -23
  443. data/CONTRIBUTORS +0 -3
  444. data/Gemfile_ar41 +0 -5
  445. data/Gemfile_ar50 +0 -5
  446. data/Gemfile_ar51 +0 -5
  447. data/Gemfile_ar_master +0 -5
  448. data/RELEASING +0 -13
  449. data/bin/shopify +0 -3
  450. data/docker-compose.yml +0 -13
  451. data/docs/graphql.md +0 -196
  452. data/lib/active_resource/connection_ext.rb +0 -10
  453. data/lib/active_resource/detailed_log_subscriber.rb +0 -52
  454. data/lib/active_resource/json_errors.rb +0 -31
  455. data/lib/shopify_api/api_version.rb +0 -205
  456. data/lib/shopify_api/connection.rb +0 -35
  457. data/lib/shopify_api/countable.rb +0 -14
  458. data/lib/shopify_api/disable_prefix_check.rb +0 -31
  459. data/lib/shopify_api/events.rb +0 -7
  460. data/lib/shopify_api/graphql/http_client.rb +0 -22
  461. data/lib/shopify_api/graphql/railtie.rb +0 -17
  462. data/lib/shopify_api/graphql/task.rake +0 -100
  463. data/lib/shopify_api/graphql.rb +0 -83
  464. data/lib/shopify_api/limits.rb +0 -76
  465. data/lib/shopify_api/message_enricher.rb +0 -23
  466. data/lib/shopify_api/meta.rb +0 -15
  467. data/lib/shopify_api/metafields.rb +0 -20
  468. data/lib/shopify_api/paginated_collection.rb +0 -69
  469. data/lib/shopify_api/pagination_link_headers.rb +0 -33
  470. data/lib/shopify_api/resources/abandoned_checkout.rb +0 -7
  471. data/lib/shopify_api/resources/access_scope.rb +0 -10
  472. data/lib/shopify_api/resources/access_token.rb +0 -8
  473. data/lib/shopify_api/resources/address.rb +0 -4
  474. data/lib/shopify_api/resources/announcement.rb +0 -4
  475. data/lib/shopify_api/resources/api_permission.rb +0 -9
  476. data/lib/shopify_api/resources/application_charge.rb +0 -15
  477. data/lib/shopify_api/resources/application_credit.rb +0 -4
  478. data/lib/shopify_api/resources/array_base.rb +0 -13
  479. data/lib/shopify_api/resources/article.rb +0 -21
  480. data/lib/shopify_api/resources/asset.rb +0 -100
  481. data/lib/shopify_api/resources/assigned_fulfillment_order.rb +0 -16
  482. data/lib/shopify_api/resources/base.rb +0 -162
  483. data/lib/shopify_api/resources/billing_address.rb +0 -4
  484. data/lib/shopify_api/resources/blog.rb +0 -10
  485. data/lib/shopify_api/resources/carrier_service.rb +0 -4
  486. data/lib/shopify_api/resources/cart.rb +0 -4
  487. data/lib/shopify_api/resources/checkout.rb +0 -30
  488. data/lib/shopify_api/resources/collect.rb +0 -6
  489. data/lib/shopify_api/resources/collection.rb +0 -14
  490. data/lib/shopify_api/resources/collection_listing.rb +0 -18
  491. data/lib/shopify_api/resources/collection_publication.rb +0 -10
  492. data/lib/shopify_api/resources/comment.rb +0 -9
  493. data/lib/shopify_api/resources/country.rb +0 -4
  494. data/lib/shopify_api/resources/currency.rb +0 -6
  495. data/lib/shopify_api/resources/custom_collection.rb +0 -19
  496. data/lib/shopify_api/resources/customer.rb +0 -29
  497. data/lib/shopify_api/resources/customer_group.rb +0 -5
  498. data/lib/shopify_api/resources/customer_invite.rb +0 -4
  499. data/lib/shopify_api/resources/customer_saved_search.rb +0 -11
  500. data/lib/shopify_api/resources/discount_code.rb +0 -9
  501. data/lib/shopify_api/resources/discount_code_batch.rb +0 -32
  502. data/lib/shopify_api/resources/draft_order.rb +0 -14
  503. data/lib/shopify_api/resources/draft_order_invoice.rb +0 -4
  504. data/lib/shopify_api/resources/event.rb +0 -8
  505. data/lib/shopify_api/resources/fulfillment.rb +0 -47
  506. data/lib/shopify_api/resources/fulfillment_event.rb +0 -15
  507. data/lib/shopify_api/resources/fulfillment_order.rb +0 -137
  508. data/lib/shopify_api/resources/fulfillment_order_locations_for_move.rb +0 -4
  509. data/lib/shopify_api/resources/fulfillment_request.rb +0 -15
  510. data/lib/shopify_api/resources/fulfillment_service.rb +0 -4
  511. data/lib/shopify_api/resources/fulfillment_v2.rb +0 -20
  512. data/lib/shopify_api/resources/gift_card.rb +0 -7
  513. data/lib/shopify_api/resources/image.rb +0 -16
  514. data/lib/shopify_api/resources/inventory_item.rb +0 -6
  515. data/lib/shopify_api/resources/inventory_level.rb +0 -55
  516. data/lib/shopify_api/resources/line_item.rb +0 -14
  517. data/lib/shopify_api/resources/location.rb +0 -8
  518. data/lib/shopify_api/resources/marketing_event.rb +0 -10
  519. data/lib/shopify_api/resources/metafield.rb +0 -13
  520. data/lib/shopify_api/resources/note_attribute.rb +0 -4
  521. data/lib/shopify_api/resources/option.rb +0 -4
  522. data/lib/shopify_api/resources/order.rb +0 -43
  523. data/lib/shopify_api/resources/order_risk.rb +0 -8
  524. data/lib/shopify_api/resources/page.rb +0 -6
  525. data/lib/shopify_api/resources/payment.rb +0 -7
  526. data/lib/shopify_api/resources/payment_details.rb +0 -4
  527. data/lib/shopify_api/resources/ping.rb +0 -3
  528. data/lib/shopify_api/resources/policy.rb +0 -7
  529. data/lib/shopify_api/resources/price_rule.rb +0 -8
  530. data/lib/shopify_api/resources/product.rb +0 -35
  531. data/lib/shopify_api/resources/product_listing.rb +0 -16
  532. data/lib/shopify_api/resources/product_publication.rb +0 -10
  533. data/lib/shopify_api/resources/province.rb +0 -5
  534. data/lib/shopify_api/resources/publication.rb +0 -5
  535. data/lib/shopify_api/resources/receipt.rb +0 -4
  536. data/lib/shopify_api/resources/recurring_application_charge.rb +0 -31
  537. data/lib/shopify_api/resources/redirect.rb +0 -4
  538. data/lib/shopify_api/resources/refund.rb +0 -14
  539. data/lib/shopify_api/resources/report.rb +0 -4
  540. data/lib/shopify_api/resources/resource_feedback.rb +0 -19
  541. data/lib/shopify_api/resources/rule.rb +0 -4
  542. data/lib/shopify_api/resources/script_tag.rb +0 -4
  543. data/lib/shopify_api/resources/shipping_address.rb +0 -4
  544. data/lib/shopify_api/resources/shipping_line.rb +0 -4
  545. data/lib/shopify_api/resources/shipping_rate.rb +0 -7
  546. data/lib/shopify_api/resources/shipping_zone.rb +0 -4
  547. data/lib/shopify_api/resources/shop.rb +0 -25
  548. data/lib/shopify_api/resources/smart_collection.rb +0 -19
  549. data/lib/shopify_api/resources/storefront_access_token.rb +0 -4
  550. data/lib/shopify_api/resources/tax_line.rb +0 -4
  551. data/lib/shopify_api/resources/tax_service.rb +0 -4
  552. data/lib/shopify_api/resources/tender_transaction.rb +0 -6
  553. data/lib/shopify_api/resources/theme.rb +0 -4
  554. data/lib/shopify_api/resources/transaction.rb +0 -5
  555. data/lib/shopify_api/resources/usage_charge.rb +0 -5
  556. data/lib/shopify_api/resources/user.rb +0 -4
  557. data/lib/shopify_api/resources/variant.rb +0 -8
  558. data/lib/shopify_api/resources/webhook.rb +0 -4
  559. data/lib/shopify_api/resources.rb +0 -3
  560. data/lib/shopify_api/session.rb +0 -172
  561. data/test/abandoned_checkouts_test.rb +0 -29
  562. data/test/access_scope_test.rb +0 -23
  563. data/test/access_token_test.rb +0 -19
  564. data/test/active_resource/json_errors_test.rb +0 -19
  565. data/test/api_permission_test.rb +0 -9
  566. data/test/api_version_test.rb +0 -157
  567. data/test/application_charge_test.rb +0 -79
  568. data/test/application_credit_test.rb +0 -35
  569. data/test/article_test.rb +0 -73
  570. data/test/asset_test.rb +0 -18
  571. data/test/assigned_fulfillment_order_test.rb +0 -77
  572. data/test/base_test.rb +0 -198
  573. data/test/blog_test.rb +0 -8
  574. data/test/carrier_service_test.rb +0 -17
  575. data/test/cart_test.rb +0 -13
  576. data/test/checkouts_test.rb +0 -77
  577. data/test/collect_test.rb +0 -9
  578. data/test/collection_listing_test.rb +0 -79
  579. data/test/collection_publication_test.rb +0 -40
  580. data/test/collection_test.rb +0 -49
  581. data/test/countable_test.rb +0 -13
  582. data/test/currency_test.rb +0 -21
  583. data/test/custom_collection_test.rb +0 -9
  584. data/test/customer_saved_search_test.rb +0 -27
  585. data/test/customer_test.rb +0 -50
  586. data/test/detailed_log_subscriber_test.rb +0 -139
  587. data/test/discount_code_batch_test.rb +0 -40
  588. data/test/discount_code_test.rb +0 -53
  589. data/test/draft_order_test.rb +0 -151
  590. data/test/fixtures/abandoned_checkout.json +0 -184
  591. data/test/fixtures/abandoned_checkouts.json +0 -186
  592. data/test/fixtures/access_scopes.json +0 -10
  593. data/test/fixtures/access_token_delegate.json +0 -4
  594. data/test/fixtures/api_versions.json +0 -38
  595. data/test/fixtures/apis.json +0 -42
  596. data/test/fixtures/application_charge.json +0 -16
  597. data/test/fixtures/application_charges.json +0 -57
  598. data/test/fixtures/application_credit.json +0 -12
  599. data/test/fixtures/application_credits.json +0 -24
  600. data/test/fixtures/article.json +0 -15
  601. data/test/fixtures/articles.json +0 -39
  602. data/test/fixtures/asset.json +0 -9
  603. data/test/fixtures/assets.json +0 -136
  604. data/test/fixtures/assigned_fulfillment_orders.json +0 -78
  605. data/test/fixtures/authors.json +0 -1
  606. data/test/fixtures/blog.json +0 -13
  607. data/test/fixtures/blogs.json +0 -13
  608. data/test/fixtures/carrier_service.json +0 -9
  609. data/test/fixtures/carts.json +0 -43
  610. data/test/fixtures/checkout.json +0 -160
  611. data/test/fixtures/checkouts.json +0 -162
  612. data/test/fixtures/collect.json +0 -12
  613. data/test/fixtures/collection.json +0 -17
  614. data/test/fixtures/collection_listing.json +0 -11
  615. data/test/fixtures/collection_listing_product_ids.json +0 -1
  616. data/test/fixtures/collection_listing_product_ids2.json +0 -1
  617. data/test/fixtures/collection_listings.json +0 -13
  618. data/test/fixtures/collection_products.json +0 -47
  619. data/test/fixtures/collection_publication.json +0 -11
  620. data/test/fixtures/collection_publications.json +0 -13
  621. data/test/fixtures/currencies.json +0 -25
  622. data/test/fixtures/custom_collection.json +0 -17
  623. data/test/fixtures/customer_invite.json +0 -9
  624. data/test/fixtures/customer_saved_search.json +0 -9
  625. data/test/fixtures/customer_saved_search_customers.json +0 -60
  626. data/test/fixtures/customers.json +0 -59
  627. data/test/fixtures/customers_account_activation_url.json +0 -3
  628. data/test/fixtures/customers_search.json +0 -60
  629. data/test/fixtures/discount_code.json +0 -10
  630. data/test/fixtures/discount_code_batch.json +0 -14
  631. data/test/fixtures/discount_code_batch_discount_codes.json +0 -21
  632. data/test/fixtures/discount_codes.json +0 -12
  633. data/test/fixtures/draft_order.json +0 -159
  634. data/test/fixtures/draft_order_completed.json +0 -159
  635. data/test/fixtures/draft_order_invoice.json +0 -9
  636. data/test/fixtures/draft_orders.json +0 -161
  637. data/test/fixtures/engagement.json +0 -15
  638. data/test/fixtures/events.json +0 -31
  639. data/test/fixtures/fulfillment.json +0 -49
  640. data/test/fixtures/fulfillment_event.json +0 -12
  641. data/test/fixtures/fulfillment_order.json +0 -38
  642. data/test/fixtures/fulfillment_order_locations_for_move.json +0 -18
  643. data/test/fixtures/fulfillment_orders.json +0 -78
  644. data/test/fixtures/fulfillment_request.json +0 -28
  645. data/test/fixtures/fulfillment_service.json +0 -10
  646. data/test/fixtures/fulfillments.json +0 -53
  647. data/test/fixtures/gift_card.json +0 -20
  648. data/test/fixtures/gift_card_disabled.json +0 -20
  649. data/test/fixtures/graphql/2019-10.json +0 -1083
  650. data/test/fixtures/graphql/dummy_schema.rb +0 -16
  651. data/test/fixtures/graphql/unstable.json +0 -1083
  652. data/test/fixtures/image.json +0 -10
  653. data/test/fixtures/images.json +0 -20
  654. data/test/fixtures/inventory_level.json +0 -7
  655. data/test/fixtures/inventory_levels.json +0 -24
  656. data/test/fixtures/marketing_event.json +0 -28
  657. data/test/fixtures/marketing_events.json +0 -54
  658. data/test/fixtures/metafield.json +0 -12
  659. data/test/fixtures/metafields.json +0 -34
  660. data/test/fixtures/order.json +0 -297
  661. data/test/fixtures/order_risk.json +0 -14
  662. data/test/fixtures/order_risks.json +0 -28
  663. data/test/fixtures/order_with_properties.json +0 -373
  664. data/test/fixtures/orders.json +0 -299
  665. data/test/fixtures/payment.json +0 -7
  666. data/test/fixtures/payments.json +0 -9
  667. data/test/fixtures/ping/conversation.json +0 -1
  668. data/test/fixtures/ping/failed_delivery_confirmation.json +0 -1
  669. data/test/fixtures/ping/message.json +0 -1
  670. data/test/fixtures/ping/successful_delivery_confirmation.json +0 -1
  671. data/test/fixtures/policies.json +0 -8
  672. data/test/fixtures/price_rule.json +0 -27
  673. data/test/fixtures/price_rules.json +0 -28
  674. data/test/fixtures/product.json +0 -116
  675. data/test/fixtures/product_listing.json +0 -86
  676. data/test/fixtures/product_listing_product_ids.json +0 -1
  677. data/test/fixtures/product_listing_product_ids2.json +0 -1
  678. data/test/fixtures/product_listings.json +0 -174
  679. data/test/fixtures/product_publication.json +0 -11
  680. data/test/fixtures/product_publications.json +0 -13
  681. data/test/fixtures/publications.json +0 -9
  682. data/test/fixtures/recurring_application_charge.json +0 -22
  683. data/test/fixtures/recurring_application_charge_adjustment.json +0 -5
  684. data/test/fixtures/recurring_application_charges.json +0 -106
  685. data/test/fixtures/redirect.json +0 -7
  686. data/test/fixtures/refund.json +0 -112
  687. data/test/fixtures/report.json +0 -9
  688. data/test/fixtures/reports.json +0 -11
  689. data/test/fixtures/script_tag.json +0 -10
  690. data/test/fixtures/script_tags.json +0 -18
  691. data/test/fixtures/shipping_rates.json +0 -12
  692. data/test/fixtures/shipping_zones.json +0 -315
  693. data/test/fixtures/shop.json +0 -26
  694. data/test/fixtures/smart_collection.json +0 -21
  695. data/test/fixtures/smart_collection_products.json +0 -155
  696. data/test/fixtures/storefront_access_token.json +0 -9
  697. data/test/fixtures/storefront_access_tokens.json +0 -18
  698. data/test/fixtures/tags.json +0 -1
  699. data/test/fixtures/tax_service.json +0 -9
  700. data/test/fixtures/tender_transactions.json +0 -52
  701. data/test/fixtures/transaction.json +0 -29
  702. data/test/fixtures/usage_charge.json +0 -11
  703. data/test/fixtures/usage_charges.json +0 -23
  704. data/test/fixtures/user.json +0 -21
  705. data/test/fixtures/users.json +0 -42
  706. data/test/fixtures/variant.json +0 -23
  707. data/test/fixtures/variants.json +0 -88
  708. data/test/fixtures/webhook.json +0 -10
  709. data/test/fixtures/webhooks.json +0 -18
  710. data/test/fulfillment_event_test.rb +0 -69
  711. data/test/fulfillment_order_test.rb +0 -462
  712. data/test/fulfillment_order_test_helper.rb +0 -7
  713. data/test/fulfillment_request_test.rb +0 -33
  714. data/test/fulfillment_service_test.rb +0 -17
  715. data/test/fulfillment_test.rb +0 -224
  716. data/test/fulfillment_v2_test.rb +0 -62
  717. data/test/gift_card_test.rb +0 -22
  718. data/test/graphql/http_client_test.rb +0 -26
  719. data/test/graphql_test.rb +0 -158
  720. data/test/image_test.rb +0 -39
  721. data/test/inventory_level_test.rb +0 -59
  722. data/test/lib/webmock_extensions/last_request.rb +0 -16
  723. data/test/limits_test.rb +0 -38
  724. data/test/location_test.rb +0 -14
  725. data/test/marketing_event_test.rb +0 -68
  726. data/test/message_enricher_test.rb +0 -45
  727. data/test/meta_test.rb +0 -49
  728. data/test/metafield_test.rb +0 -46
  729. data/test/order_risk_test.rb +0 -46
  730. data/test/order_test.rb +0 -125
  731. data/test/pagination_test.rb +0 -257
  732. data/test/payment_test.rb +0 -19
  733. data/test/policy_test.rb +0 -19
  734. data/test/price_rule_test.rb +0 -65
  735. data/test/product_listing_test.rb +0 -97
  736. data/test/product_publication_test.rb +0 -40
  737. data/test/product_test.rb +0 -60
  738. data/test/publication_test.rb +0 -12
  739. data/test/recurring_application_charge_test.rb +0 -142
  740. data/test/redirect_test.rb +0 -9
  741. data/test/refund_test.rb +0 -32
  742. data/test/report_test.rb +0 -35
  743. data/test/resource_feedback_test.rb +0 -42
  744. data/test/script_tag_test.rb +0 -30
  745. data/test/session_test.rb +0 -366
  746. data/test/shipping_rate_test.rb +0 -17
  747. data/test/shipping_zone_test.rb +0 -10
  748. data/test/shop_test.rb +0 -68
  749. data/test/smart_collection_test.rb +0 -35
  750. data/test/storefront_access_token_test.rb +0 -32
  751. data/test/tax_service_test.rb +0 -9
  752. data/test/tender_transaction_test.rb +0 -18
  753. data/test/test_helper.rb +0 -124
  754. data/test/transaction_test.rb +0 -17
  755. data/test/usage_charge_test.rb +0 -21
  756. data/test/user_test.rb +0 -17
  757. data/test/variant_test.rb +0 -46
  758. data/test/webhook_test.rb +0 -21
data/CHANGELOG.md CHANGED
@@ -1,454 +1,537 @@
1
+ # Changelog
2
+
3
+ Note: For changes to the API, see https://shopify.dev/changelog?filter=api
4
+
5
+ ## Unreleased
6
+
7
+ ## Version 10.1.0
8
+
9
+ - [#933](https://github.com/Shopify/shopify_api/pull/933) Fix syntax of GraphQL query in `Webhooks.get_webhook_id` method by removing extra curly brace
10
+ - [#941](https://github.com/Shopify/shopify_api/pull/941) Fix `to_hash` to return readonly attributes, unless being used for serialize the object for saving - fix issue [#930](https://github.com/Shopify/shopify_api/issues/930)
11
+ - [#959](https://github.com/Shopify/shopify_api/pull/959) Update `LATEST_SUPPORTED_ADMIN_VERSION` to `2022-04` to align it with the current value
12
+
13
+ ## Version 10.0.3
14
+
15
+ ### Fixed
16
+
17
+ - [#935](https://github.com/Shopify/shopify_api/pull/935) Fix issue [#931](https://github.com/Shopify/shopify_api/pull/931), weight of variant should be float
18
+ - [#944](https://github.com/Shopify/shopify_api/pull/944) Deprecated the `validate_shop` method from the JWT class since we can trust the token payload, since it comes from Shopify.
19
+
20
+ ## Version 10.0.2
21
+
22
+ - [#929](https://github.com/Shopify/shopify_api/pull/929) Aligning sorbet dependencies
23
+
24
+ ## Version 10.0.1
25
+
26
+ ### Fixed
27
+
28
+ - [#919](https://github.com/Shopify/shopify_api/pull/919) Allow REST resources to configure a deny list of attributes to be excluded when saving
29
+ - [#920](https://github.com/Shopify/shopify_api/pull/920) Set all values received from the API response to REST resource objects, and allow setting / getting attributes with special characters (such as `?`)
30
+ - [#927](https://github.com/Shopify/shopify_api/pull/927) Fix the `ShopifyAPI::AdminVersions` module for backward compatibility
31
+
32
+ ## Version 10.0.0
33
+
34
+ - Major update to the library to provide _all_ essential functions needed for a Shopify app, supporting embedded apps with session tokens. See the [full list of changes](https://github.com/Shopify/shopify_api#breaking-change-notice-for-version-1000) here
35
+
36
+ ## Version 9.5.1
37
+
38
+ - [#891](https://github.com/Shopify/shopify_api/pull/891) Removed the upper bound on the `activeresource` dependency to allow apps to use the latest version
39
+
40
+ ## Version 9.5
41
+
42
+ - [#883](https://github.com/Shopify/shopify_api/pull/883) Add support for Ruby 3.0
43
+
44
+ ## Version 9.4.1
45
+
46
+ - [#847](https://github.com/Shopify/shopify_api/pull/847) Update `create_permission_url` method to use grant_options
47
+ - [#852](https://github.com/Shopify/shopify_api/pull/852) Bumping kramdown to fix a security vulnerability
48
+
49
+ ## Version 9.4.0
50
+
51
+ - [#843](https://github.com/Shopify/shopify_api/pull/843) Introduce a new `access_scopes` attribute on the Session class.
52
+ - Specifying this in the Session constructor is optional. By default, this attribute returns `nil`.
53
+
54
+ ## Version 9.3.0
55
+
56
+ - [#797](https://github.com/Shopify/shopify_api/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
57
+
58
+ - [#818](https://github.com/Shopify/shopify_api/pull/818) Avoid depending on ActiveSupport in Sesssion class.
59
+
60
+ - Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
61
+
62
+ - [#802](https://github.com/Shopify/shopify_api/pull/802) Made `inventory_quantity` a read-only field in Variant
63
+
64
+ - [#821](https://github.com/Shopify/shopify_api/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
65
+ The `ActiveResource::DetailedLogSubscriber` no longer automatically attaches when the class is loaded. If you were previously relying on that behaviour, you'll now need to call `ActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)`. (If using the new `SHOPIFY_LOG_PATH` environment setting then this is handled for you).
66
+
67
+ - Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify_api/pull/829)
68
+
69
+ ## Version 9.2.0
70
+
71
+ - Removes the `shopify` binary which will be used by the Shopify CLI
72
+
73
+ ## Version 9.1.1
74
+
75
+ - Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify_api/pull/726)
76
+
77
+ ## Version 9.1.0
78
+
79
+ - Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify_api/pull/714)
80
+
1
81
  ## Version 9.0.4
2
82
 
3
- * Contains [#708](https://github.com/Shopify/shopify_api/pull/708) which is a revert for [#655](https://github.com/shopify/shopify_api/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
83
+ - Contains [#708](https://github.com/Shopify/shopify_api/pull/708) which is a revert for [#655](https://github.com/shopify/shopify_api/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
4
84
 
5
85
  ## Version 9.0.3
6
86
 
7
- * We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/shopify/shopify_api/pull/655) Deprecation and migration information can be found in the following documents:
8
- * [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
9
- * [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
10
- * [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
11
- * Added support for the Discount Code API batch endpoints [#701](https://github.com/shopify/shopify_api/pull/701)
12
- * [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
13
- * [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
14
- * [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
15
- * Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify_api/pull/700)
87
+ - We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/shopify/shopify_api/pull/655) Deprecation and migration information can be found in the following documents:
88
+ - [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
89
+ - [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
90
+ - [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
91
+ - Added support for the Discount Code API batch endpoints [#701](https://github.com/shopify/shopify_api/pull/701)
92
+ - [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
93
+ - [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
94
+ - [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
95
+ - Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify_api/pull/700)
16
96
 
17
97
  ## Version 9.0.2
18
98
 
19
- * Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify_api/pull/693)
99
+ - Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify_api/pull/693)
20
100
 
21
101
  ## Version 9.0.1
22
102
 
23
- * Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify_api/pull/685)
24
- * Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify_api/pull/677)
103
+ - Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify_api/pull/685)
104
+ - Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify_api/pull/677)
25
105
 
26
106
  ## Version 9.0.0
27
107
 
28
- * Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
108
+ - Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
109
+
110
+ - Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
29
111
 
30
- * Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
112
+ - Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
31
113
 
32
- * Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
114
+ - Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
33
115
 
34
- * Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
35
- * `fulfillment.create` with `line_items_by_fulfillment_order`
36
- * `fulfillment.update_tracking`
37
- * `fulfillment.cancel`
116
+ - `fulfillment.create` with `line_items_by_fulfillment_order`
117
+ - `fulfillment.update_tracking`
118
+ - `fulfillment.cancel`
38
119
 
39
- * Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
40
- * `fulfillment_order.fulfillment_request`
41
- * `fulfillment_order.fulfillment_request.accept`
42
- * `fulfillment_order.fulfillment_request.reject`
43
- * `fulfillment_order.cancellation_request`
44
- * `fulfillment_order.cancellation_request.accept`
45
- * `fulfillment_order.cancellation_request.reject`
120
+ - Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
46
121
 
47
- * Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
122
+ - `fulfillment_order.fulfillment_request`
123
+ - `fulfillment_order.fulfillment_request.accept`
124
+ - `fulfillment_order.fulfillment_request.reject`
125
+ - `fulfillment_order.cancellation_request`
126
+ - `fulfillment_order.cancellation_request.accept`
127
+ - `fulfillment_order.cancellation_request.reject`
48
128
 
49
- * Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
129
+ - Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
130
+
131
+ - Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
50
132
 
51
133
  ## Version 8.1.0
52
134
 
53
- * Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
54
- * Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
55
- * Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
56
- * Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
57
- * Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
58
- * Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
135
+ - Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
136
+ - Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
137
+ - Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
138
+ - Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
139
+ - Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
140
+ - Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
59
141
 
60
142
  ## Version 8.0.0
61
143
 
62
- * Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
63
- * Remove static Api Version definitions.
64
- * Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
65
- * See [migration notes](README.md#-breaking-change-notice-for-version-800-)
66
- * `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
67
- * `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
68
- * Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
144
+ - Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
145
+ - Remove static Api Version definitions.
146
+ - Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
147
+ - See [migration notes](README.md#-breaking-change-notice-for-version-800-)
148
+ - `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
149
+ - `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
150
+ - Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
69
151
 
70
152
  ## Version 7.1.0
71
153
 
72
- * Add 2019-10 to known API versions
73
- * Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
74
- [#611](https://github.com/Shopify/shopify_api/pull/611)
75
- * `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
154
+ - Add 2019-10 to known API versions
155
+ - Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
156
+ [#611](https://github.com/Shopify/shopify_api/pull/611)
157
+ - `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
76
158
 
77
159
  ## Version 7.0.2
78
160
 
79
- * Add 2019-07 to known API versions.
161
+ - Add 2019-07 to known API versions.
80
162
 
81
163
  ## Version 7.0.1
82
164
 
83
- * Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
165
+ - Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
84
166
 
85
167
  ## Version 7.0.0
86
168
 
87
- * Removed support for `ActiveResouce` < `4.1`.
88
- * Removed `ShopifyAPI::Oauth`.
89
- * Added api version support, See [migration
90
- notes](README.md#-breaking-change-notice-for-version-700-)
91
- * Changed `ShopifyAPI::Session` method signatures from positional to keyword
92
- arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
93
- * Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
94
- * Removed all Ping resources.
169
+ - Removed support for `ActiveResouce` < `4.1`.
170
+ - Removed `ShopifyAPI::Oauth`.
171
+ - Added api version support, See [migration
172
+ notes](README.md#-breaking-change-notice-for-version-700-)
173
+ - Changed `ShopifyAPI::Session` method signatures from positional to keyword
174
+ arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
175
+ - Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
176
+ - Removed all Ping resources.
95
177
 
96
178
  ## Version 6.0.0
97
179
 
98
- * Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
180
+ - Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
99
181
 
100
182
  ## Version 5.2.4
101
183
 
102
- * Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
103
- multi-currency beta program.
184
+ - Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
185
+ multi-currency beta program.
104
186
 
105
187
  ## Version 5.2.3
106
188
 
107
- * Update delivery confirmation resource to delivery confirmation details resource.
189
+ - Update delivery confirmation resource to delivery confirmation details resource.
108
190
 
109
191
  ## Version 5.2.2
110
192
 
111
- * Add delivery confirmation endpoint to Ping resources.
193
+ - Add delivery confirmation endpoint to Ping resources.
112
194
 
113
195
  ## Version 5.2.1
114
196
 
115
- * Log warning when Shopify indicates deprecated API call was performed
197
+ - Log warning when Shopify indicates deprecated API call was performed
116
198
 
117
199
  ## Version 5.2.0
118
200
 
119
- * Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
120
- * Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
121
- * Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
201
+ - Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
202
+ - Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
203
+ - Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
122
204
 
123
205
  ## Version 5.1.0
124
206
 
125
- * Added `ShopifyAPI::Publications`
126
- * Added `ShopifyAPI::ProductPublications`
127
- * Added `ShopifyAPI::CollectionPublications`
128
- * Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
207
+ - Added `ShopifyAPI::Publications`
208
+ - Added `ShopifyAPI::ProductPublications`
209
+ - Added `ShopifyAPI::CollectionPublications`
210
+ - Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
129
211
 
130
212
  ## Version 5.0.0
131
213
 
132
- * Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
133
- * See the README for more details
134
- * Added `ShopifyAPI::AbandonedCheckout`
135
- * Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
136
- * Added `ShopifyAPI::ShippingRate`
137
- * Added `ShopifyAPI::Payment`
138
- * Added support for `Checkout::complete` endpoint
139
- * Fixed session handling support for Rails 5.2.1
214
+ - Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
215
+ - See the README for more details
216
+ - Added `ShopifyAPI::AbandonedCheckout`
217
+ - Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
218
+ - Added `ShopifyAPI::ShippingRate`
219
+ - Added `ShopifyAPI::Payment`
220
+ - Added support for `Checkout::complete` endpoint
221
+ - Fixed session handling support for Rails 5.2.1
140
222
 
141
223
  ## Version 4.13.0
142
- * Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
143
- * Added a deprecation warning to `ShopifyAPI::OAuth`
224
+
225
+ - Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
226
+ - Added a deprecation warning to `ShopifyAPI::OAuth`
144
227
 
145
228
  ## Version 4.12.0
146
229
 
147
- * Added support for the GraphQL API
230
+ - Added support for the GraphQL API
148
231
 
149
232
  ## Version 4.11.0
150
233
 
151
- * Added `ShopifyAPI::InventoryItem`
152
- * Added `ShopifyAPI::InventoryLevel`
153
- * Added `#inventory_levels` method to `ShopifyAPI::Location`
234
+ - Added `ShopifyAPI::InventoryItem`
235
+ - Added `ShopifyAPI::InventoryLevel`
236
+ - Added `#inventory_levels` method to `ShopifyAPI::Location`
154
237
 
155
238
  ## Version 4.10.0
156
239
 
157
- * Added `ShopifyAPI::AccessScope`
240
+ - Added `ShopifyAPI::AccessScope`
158
241
 
159
242
  ## Version 4.9.1
160
243
 
161
- * Fix a bug with custom properties for orders
244
+ - Fix a bug with custom properties for orders
162
245
 
163
246
  ## Version 4.9.0
164
247
 
165
- * Added `ShopifyAPI::PriceRule`
166
- * Added `ShopifyAPI::DiscountCode`
248
+ - Added `ShopifyAPI::PriceRule`
249
+ - Added `ShopifyAPI::DiscountCode`
167
250
 
168
251
  ## Version 4.8.0
169
252
 
170
- * Added `add_engagements` to `ShopifyAPI::MarketingEvent`
253
+ - Added `add_engagements` to `ShopifyAPI::MarketingEvent`
171
254
 
172
255
  ## Version 4.7.1
173
256
 
174
- * Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
175
- * Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
257
+ - Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
258
+ - Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
176
259
 
177
260
  ## Version 4.7.0
178
261
 
179
- * Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
180
- * Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
262
+ - Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
263
+ - Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
181
264
 
182
265
  ## Version 4.6.0
183
266
 
184
- * Added `ShopifyAPI::Report`
267
+ - Added `ShopifyAPI::Report`
185
268
 
186
269
  ## Version 4.5.0
187
270
 
188
- * Added `ShopifyAPI::MarketingEvent`
271
+ - Added `ShopifyAPI::MarketingEvent`
189
272
 
190
273
  ## Version 4.4.0
191
274
 
192
- * Added `ShopifyAPI::CustomerInvite`
193
- * Support for Customer#send_invite endpoint
275
+ - Added `ShopifyAPI::CustomerInvite`
276
+ - Support for Customer#send_invite endpoint
194
277
 
195
278
  ## Version 4.3.8
196
279
 
197
- * Added `ShopifyAPI::ResourceFeedback`
280
+ - Added `ShopifyAPI::ResourceFeedback`
198
281
 
199
282
  ## Version 4.3.7
200
283
 
201
- * Added support for `complete` in `ShopifyAPI::DraftOrder`
284
+ - Added support for `complete` in `ShopifyAPI::DraftOrder`
202
285
 
203
286
  ## Version 4.3.6
204
287
 
205
- * Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
288
+ - Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
206
289
 
207
290
  ## Version 4.3.5
208
291
 
209
- * Added support for online mode access tokens, token expiry, and associated_user information.
210
- * Added `ShopifyAPI::DraftOrder`
211
- * Added `ShopifyAPI::DraftOrderInvoice`
292
+ - Added support for online mode access tokens, token expiry, and associated_user information.
293
+ - Added `ShopifyAPI::DraftOrder`
294
+ - Added `ShopifyAPI::DraftOrderInvoice`
212
295
 
213
296
  ## Version 4.3.4
214
297
 
215
- * Added `ShopifyAPI::ProductListing`
216
- * Added `ShopifyAPI::CollectionListing`
298
+ - Added `ShopifyAPI::ProductListing`
299
+ - Added `ShopifyAPI::CollectionListing`
217
300
 
218
301
  ## Version 4.3.3
219
302
 
220
- * Added `ShopifyAPI::StorefrontAccessToken`
303
+ - Added `ShopifyAPI::StorefrontAccessToken`
221
304
 
222
305
  ## Version 4.3.2
223
306
 
224
- * Relax Ruby version requirement to >= `2.0`
307
+ - Relax Ruby version requirement to >= `2.0`
225
308
 
226
309
  ## Version 4.3.1
227
310
 
228
- * Support for ShopifyAPI::ApplicationCredit
311
+ - Support for ShopifyAPI::ApplicationCredit
229
312
 
230
313
  ## Version 4.3.0
231
314
 
232
- * Require Ruby >= `2.3.0`
233
- * Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
315
+ - Require Ruby >= `2.3.0`
316
+ - Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
234
317
 
235
318
  ## Version 4.2.2
236
319
 
237
- * Support for AccessToken#delegate endpoint
320
+ - Support for AccessToken#delegate endpoint
238
321
 
239
322
  ## Version 4.2.1
240
323
 
241
- * Support for Users and Discounts (Shopify Plus only)
242
- * Adds Customer#account_activation_url method
243
- * Adds ability to open a fulfillment.
324
+ - Support for Users and Discounts (Shopify Plus only)
325
+ - Adds Customer#account_activation_url method
326
+ - Adds ability to open a fulfillment.
244
327
 
245
328
  ## Version 4.2.0
246
329
 
247
- * Threadsafety is now compatible with the latest ActiveResource master
330
+ - Threadsafety is now compatible with the latest ActiveResource master
248
331
 
249
332
  ## Version 4.1.1
250
333
 
251
- * Added explicit 90 second timeout to `ShopifyAPI::Base`
334
+ - Added explicit 90 second timeout to `ShopifyAPI::Base`
252
335
 
253
336
  ## Version 4.0.7
254
337
 
255
- * Added `ShippingAPI::ShippingZone`
338
+ - Added `ShippingAPI::ShippingZone`
256
339
 
257
340
  ## Version 4.0.6
258
341
 
259
- * Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
342
+ - Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
260
343
 
261
344
  ## Version 4.0.5
262
345
 
263
- * Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
346
+ - Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
264
347
 
265
348
  ## Version 4.0.4
266
349
 
267
- * Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
350
+ - Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
268
351
 
269
352
  ## Version 4.0.3
270
353
 
271
- * Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
354
+ - Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
272
355
 
273
356
  ## Version 4.0.2
274
357
 
275
- * Verify that the shop domain is a subdomain of .myshopify.com which creating the session
358
+ - Verify that the shop domain is a subdomain of .myshopify.com which creating the session
276
359
 
277
360
  ## Version 4.0.1
278
361
 
279
- * Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
362
+ - Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
280
363
 
281
364
  ## Version 3.2.6
282
365
 
283
- * Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
366
+ - Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
284
367
 
285
368
  ## Version 3.2.5
286
369
 
287
- * More useful error messages for activating nil sessions
288
- * Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
370
+ - More useful error messages for activating nil sessions
371
+ - Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
289
372
 
290
373
  ## Version 3.2.4
291
374
 
292
- * No API changes
375
+ - No API changes
293
376
 
294
377
  ## Version 3.2.3
295
378
 
296
- * Added pry to the CLI
379
+ - Added pry to the CLI
297
380
 
298
381
  ## Version 3.2.2
299
382
 
300
- * Temporary fix for the CLI
301
- * Add a specific exception for signature validation failures
383
+ - Temporary fix for the CLI
384
+ - Add a specific exception for signature validation failures
302
385
 
303
386
  ## Version 3.2.1
304
387
 
305
- * Added CarrierService resource
306
- * Added optionally using threadsafe ActiveResource (see readme)
307
- * Fixed bug in validate_signature
388
+ - Added CarrierService resource
389
+ - Added optionally using threadsafe ActiveResource (see readme)
390
+ - Fixed bug in validate_signature
308
391
 
309
392
  ## Version 3.2.0
310
393
 
311
- * in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
312
- * Fixed JSON errors handling (#103)
313
- * Fixed compatibility with Ruby 2.1.x (#83)
314
- * Fixed getting parent ID from nested resources like Variants (#44)
315
- * Cleaned up compatibility with ActiveResource 4.0.x
316
- * Added OrderRisk resource
317
- * Added FulfillmentService resource
318
- * Removed discontinued ProductSearchEngine resource
319
- * Added convenience method Customer#search (#45)
394
+ - in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
395
+ - Fixed JSON errors handling (#103)
396
+ - Fixed compatibility with Ruby 2.1.x (#83)
397
+ - Fixed getting parent ID from nested resources like Variants (#44)
398
+ - Cleaned up compatibility with ActiveResource 4.0.x
399
+ - Added OrderRisk resource
400
+ - Added FulfillmentService resource
401
+ - Removed discontinued ProductSearchEngine resource
402
+ - Added convenience method Customer#search (#45)
320
403
 
321
404
  ## Version 3.1.8
322
405
 
323
- * Expose `index` and `show` actions of `Location`
324
- * Added create_permission_url and request_token helper methods
325
- * Edited the readme to better describe the getting started procedure
406
+ - Expose `index` and `show` actions of `Location`
407
+ - Added create_permission_url and request_token helper methods
408
+ - Edited the readme to better describe the getting started procedure
326
409
 
327
410
  ## Version 3.1.7
328
411
 
329
- * Expose `authors` and `tags` action on Article
412
+ - Expose `authors` and `tags` action on Article
330
413
 
331
414
  ## Version 3.1.6
332
415
 
333
- * Add LineItem::Property resource
416
+ - Add LineItem::Property resource
334
417
 
335
418
  ## Version 3.1.5
336
419
 
337
- * Expose `orders` action on Customer
420
+ - Expose `orders` action on Customer
338
421
 
339
422
  ## Version 3.1.3
340
423
 
341
- * Expose `complete` action on Fulfillment
424
+ - Expose `complete` action on Fulfillment
342
425
 
343
426
  ## Version 3.1.2
344
427
 
345
- * Includes port in domain URI (when other than http/80 or https/443)
346
- * Adds access to CustomerSavedSearch
347
- * Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
348
- * Allows access to Articles without a blog_id
349
- * Moves encode and as_json overrides to ShopifyAPI::Base scope
350
- * Exposes the `order` action in SmartCollection for general use
428
+ - Includes port in domain URI (when other than http/80 or https/443)
429
+ - Adds access to CustomerSavedSearch
430
+ - Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
431
+ - Allows access to Articles without a blog_id
432
+ - Moves encode and as_json overrides to ShopifyAPI::Base scope
433
+ - Exposes the `order` action in SmartCollection for general use
351
434
 
352
435
  ## Version 3.0.3
353
436
 
354
- * Add a `customers` helper method to the CustomerGroup resource
437
+ - Add a `customers` helper method to the CustomerGroup resource
355
438
 
356
439
  ## Version 3.0.2
357
440
 
358
- * Brevity in require statements
441
+ - Brevity in require statements
359
442
 
360
443
  ## Version 3.0.1
361
444
 
362
- * Fix saving nested resources in ActiveResource 3.1+
445
+ - Fix saving nested resources in ActiveResource 3.1+
363
446
 
364
447
  ## Version 3.0.0
365
448
 
366
- * Added support for OAuth Authentication
367
- * Removal of support for Legacy Authentication
368
- * Added Cart resource
449
+ - Added support for OAuth Authentication
450
+ - Removal of support for Legacy Authentication
451
+ - Added Cart resource
369
452
 
370
453
  ## Version 2.3.0
371
454
 
372
- * Fix double root bug with ActiveSupport 3.2.0
373
- * Add metafields methods on Customer resource
374
- * Fix prefix_options on assets returned from Asset.find
455
+ - Fix double root bug with ActiveSupport 3.2.0
456
+ - Add metafields methods on Customer resource
457
+ - Fix prefix_options on assets returned from Asset.find
375
458
 
376
459
  ## Version 2.2.0
377
460
 
378
- * Fix issues with resources that have both direct and namespaced routes
379
- * Added detailed logger to help with debugging ActiveResource
380
- requests/responses
381
- * Add fulfillment#cancel
461
+ - Fix issues with resources that have both direct and namespaced routes
462
+ - Added detailed logger to help with debugging ActiveResource
463
+ requests/responses
464
+ - Add fulfillment#cancel
382
465
 
383
466
  ## Version 2.1.0
384
467
 
385
- * Fix JSON errors handling
386
- * Remove global limit from ShopifyAPI::Limits
468
+ - Fix JSON errors handling
469
+ - Remove global limit from ShopifyAPI::Limits
387
470
 
388
471
  ## Version 2.0.0
389
472
 
390
- * Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
391
- * Refactored resources into their own source files
392
- * Added API limits functionality
393
- * Patched ActiveResource issue with roots in JSON
394
- * Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
395
- * ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
396
- * Fixes to `shopify console` CLI tool
473
+ - Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
474
+ - Refactored resources into their own source files
475
+ - Added API limits functionality
476
+ - Patched ActiveResource issue with roots in JSON
477
+ - Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
478
+ - ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
479
+ - Fixes to `shopify console` CLI tool
397
480
 
398
481
  ## Version 1.2.5
399
482
 
400
- * Fix for Article#comments
483
+ - Fix for Article#comments
401
484
 
402
485
  ## Version 1.2.4
403
486
 
404
- * Added Article#comments
405
- * Added Order#cancel
406
- * Added Comment#restore, #not_spam
487
+ - Added Article#comments
488
+ - Added Order#cancel
489
+ - Added Comment#restore, #not_spam
407
490
 
408
491
  ## Version 1.2.3
409
492
 
410
- * Added Customer, CustomerGroup support
493
+ - Added Customer, CustomerGroup support
411
494
 
412
495
  ## Version 1.2.2
413
496
 
414
- * Added ScriptTag support
497
+ - Added ScriptTag support
415
498
 
416
499
  ## Version 1.2.1
417
500
 
418
- * Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
419
- * Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
420
- * Add 'grande' to supported product image size variants
501
+ - Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
502
+ - Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
503
+ - Add 'grande' to supported product image size variants
421
504
 
422
505
  ## Version 1.2.0
423
506
 
424
- * Command-line interface
425
- * Allow custom params when fetching a single Asset
507
+ - Command-line interface
508
+ - Allow custom params when fetching a single Asset
426
509
 
427
510
  ## Version 1.1.3 (November 4, 2010)
428
511
 
429
- * Add ProductSearchEngines resource
512
+ - Add ProductSearchEngines resource
430
513
 
431
514
  ## Version 1.1.2 (October 20, 2010)
432
515
 
433
- * Fix for users of ActiveResource 3.x
516
+ - Fix for users of ActiveResource 3.x
434
517
 
435
518
  ## Version 1.1.1 (October 5, 2010)
436
519
 
437
- * Remove hard coded xml formatting in API calls
438
- * Remove jeweler stuff
439
- * Ruby 1.9 encoding fix
520
+ - Remove hard coded xml formatting in API calls
521
+ - Remove jeweler stuff
522
+ - Ruby 1.9 encoding fix
440
523
 
441
524
  ## Version 1.1.0 (September 24, 2010)
442
525
 
443
- * Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
444
- * Add new 'compact' product image size variant
445
- * Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
526
+ - Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
527
+ - Add new 'compact' product image size variant
528
+ - Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
446
529
 
447
530
  ## Version 1.0.6
448
531
 
449
- * Add metafields
450
- * Add latest changes from Shopify including asset support, token validation and a common base class
532
+ - Add metafields
533
+ - Add latest changes from Shopify including asset support, token validation and a common base class
451
534
 
452
535
  ## Version 1.0.0
453
536
 
454
- * extracting ShopifyAPI from Shopify into Gem
537
+ - extracting ShopifyAPI from Shopify into Gem