shopify_api 4.9.0 → 9.4.1

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 (281) hide show
  1. checksums.yaml +5 -5
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/ISSUE_TEMPLATE.md +36 -0
  4. data/.github/probots.yml +2 -0
  5. data/.github/workflows/build.yml +41 -0
  6. data/.gitignore +5 -1
  7. data/.rubocop.yml +28 -0
  8. data/.rubocop_todo.yml +75 -0
  9. data/CHANGELOG.md +491 -0
  10. data/CONTRIBUTING.md +1 -1
  11. data/Gemfile +6 -2
  12. data/Gemfile.lock +151 -0
  13. data/Gemfile_ar41 +5 -0
  14. data/Gemfile_ar50 +5 -0
  15. data/Gemfile_ar51 +5 -0
  16. data/Gemfile_ar_master +0 -1
  17. data/README.md +492 -100
  18. data/RELEASING +10 -9
  19. data/Rakefile +21 -5
  20. data/SECURITY.md +59 -0
  21. data/docker-compose.yml +13 -0
  22. data/docs/_config.yml +1 -0
  23. data/docs/_includes/footer.html +28 -0
  24. data/docs/_includes/head.html +28 -0
  25. data/docs/_layouts/index.html +57 -0
  26. data/docs/graphql.md +241 -0
  27. data/docs/index.md +639 -0
  28. data/lib/active_resource/connection_ext.rb +1 -0
  29. data/lib/active_resource/detailed_log_subscriber.rb +43 -7
  30. data/lib/active_resource/json_errors.rb +8 -2
  31. data/lib/shopify_api.rb +16 -6
  32. data/lib/shopify_api/api_access.rb +57 -0
  33. data/lib/shopify_api/api_version.rb +206 -0
  34. data/lib/shopify_api/connection.rb +7 -4
  35. data/lib/shopify_api/countable.rb +3 -2
  36. data/lib/shopify_api/disable_prefix_check.rb +31 -0
  37. data/lib/shopify_api/events.rb +2 -1
  38. data/lib/shopify_api/graphql.rb +103 -0
  39. data/lib/shopify_api/graphql/http_client.rb +22 -0
  40. data/lib/shopify_api/graphql/railtie.rb +17 -0
  41. data/lib/shopify_api/graphql/task.rake +100 -0
  42. data/lib/shopify_api/limits.rb +9 -9
  43. data/lib/shopify_api/message_enricher.rb +25 -0
  44. data/lib/shopify_api/meta.rb +14 -0
  45. data/lib/shopify_api/metafields.rb +5 -4
  46. data/lib/shopify_api/paginated_collection.rb +69 -0
  47. data/lib/shopify_api/pagination_link_headers.rb +34 -0
  48. data/lib/shopify_api/resources.rb +3 -1
  49. data/lib/shopify_api/resources/abandoned_checkout.rb +7 -0
  50. data/lib/shopify_api/resources/access_scope.rb +10 -0
  51. data/lib/shopify_api/resources/access_token.rb +1 -0
  52. data/lib/shopify_api/resources/address.rb +1 -0
  53. data/lib/shopify_api/resources/announcement.rb +2 -1
  54. data/lib/shopify_api/resources/api_permission.rb +9 -0
  55. data/lib/shopify_api/resources/application_charge.rb +1 -0
  56. data/lib/shopify_api/resources/application_credit.rb +1 -0
  57. data/lib/shopify_api/resources/array_base.rb +13 -0
  58. data/lib/shopify_api/resources/article.rb +3 -2
  59. data/lib/shopify_api/resources/asset.rb +28 -23
  60. data/lib/shopify_api/resources/assigned_fulfillment_order.rb +16 -0
  61. data/lib/shopify_api/resources/base.rb +101 -24
  62. data/lib/shopify_api/resources/billing_address.rb +2 -1
  63. data/lib/shopify_api/resources/blog.rb +2 -1
  64. data/lib/shopify_api/resources/carrier_service.rb +1 -0
  65. data/lib/shopify_api/resources/cart.rb +2 -1
  66. data/lib/shopify_api/resources/checkout.rb +27 -1
  67. data/lib/shopify_api/resources/collect.rb +2 -0
  68. data/lib/shopify_api/resources/collection.rb +14 -0
  69. data/lib/shopify_api/resources/collection_listing.rb +11 -1
  70. data/lib/shopify_api/resources/collection_publication.rb +10 -0
  71. data/lib/shopify_api/resources/comment.rb +20 -5
  72. data/lib/shopify_api/resources/country.rb +1 -0
  73. data/lib/shopify_api/resources/currency.rb +6 -0
  74. data/lib/shopify_api/resources/custom_collection.rb +7 -6
  75. data/lib/shopify_api/resources/customer.rb +2 -1
  76. data/lib/shopify_api/resources/customer_group.rb +1 -0
  77. data/lib/shopify_api/resources/{customer_invite_message.rb → customer_invite.rb} +1 -0
  78. data/lib/shopify_api/resources/customer_saved_search.rb +4 -1
  79. data/lib/shopify_api/resources/discount_code.rb +1 -0
  80. data/lib/shopify_api/resources/discount_code_batch.rb +34 -0
  81. data/lib/shopify_api/resources/draft_order.rb +1 -0
  82. data/lib/shopify_api/resources/draft_order_invoice.rb +1 -0
  83. data/lib/shopify_api/resources/event.rb +2 -0
  84. data/lib/shopify_api/resources/fulfillment.rb +46 -3
  85. data/lib/shopify_api/resources/fulfillment_event.rb +2 -1
  86. data/lib/shopify_api/resources/fulfillment_order.rb +151 -0
  87. data/lib/shopify_api/resources/fulfillment_order_locations_for_move.rb +5 -0
  88. data/lib/shopify_api/resources/fulfillment_request.rb +1 -0
  89. data/lib/shopify_api/resources/fulfillment_service.rb +1 -0
  90. data/lib/shopify_api/resources/fulfillment_v2.rb +21 -0
  91. data/lib/shopify_api/resources/gift_card.rb +1 -0
  92. data/lib/shopify_api/resources/image.rb +4 -3
  93. data/lib/shopify_api/resources/inventory_item.rb +6 -0
  94. data/lib/shopify_api/resources/inventory_level.rb +54 -0
  95. data/lib/shopify_api/resources/line_item.rb +10 -1
  96. data/lib/shopify_api/resources/location.rb +4 -0
  97. data/lib/shopify_api/resources/marketing_event.rb +3 -0
  98. data/lib/shopify_api/resources/metafield.rb +2 -0
  99. data/lib/shopify_api/resources/note_attribute.rb +1 -0
  100. data/lib/shopify_api/resources/option.rb +1 -0
  101. data/lib/shopify_api/resources/order.rb +25 -5
  102. data/lib/shopify_api/resources/order_risk.rb +1 -0
  103. data/lib/shopify_api/resources/page.rb +1 -0
  104. data/lib/shopify_api/resources/payment.rb +7 -0
  105. data/lib/shopify_api/resources/payment_details.rb +1 -0
  106. data/lib/shopify_api/resources/ping.rb +3 -0
  107. data/lib/shopify_api/resources/policy.rb +1 -0
  108. data/lib/shopify_api/resources/price_rule.rb +1 -1
  109. data/lib/shopify_api/resources/product.rb +33 -7
  110. data/lib/shopify_api/resources/product_listing.rb +9 -1
  111. data/lib/shopify_api/resources/product_publication.rb +10 -0
  112. data/lib/shopify_api/resources/province.rb +1 -0
  113. data/lib/shopify_api/resources/publication.rb +5 -0
  114. data/lib/shopify_api/resources/receipt.rb +1 -0
  115. data/lib/shopify_api/resources/recurring_application_charge.rb +4 -1
  116. data/lib/shopify_api/resources/redirect.rb +1 -0
  117. data/lib/shopify_api/resources/refund.rb +6 -4
  118. data/lib/shopify_api/resources/report.rb +1 -0
  119. data/lib/shopify_api/resources/resource_feedback.rb +1 -1
  120. data/lib/shopify_api/resources/rule.rb +1 -0
  121. data/lib/shopify_api/resources/script_tag.rb +1 -0
  122. data/lib/shopify_api/resources/shipping_address.rb +1 -0
  123. data/lib/shopify_api/resources/shipping_line.rb +2 -1
  124. data/lib/shopify_api/resources/shipping_rate.rb +7 -0
  125. data/lib/shopify_api/resources/shipping_zone.rb +1 -0
  126. data/lib/shopify_api/resources/shop.rb +10 -7
  127. data/lib/shopify_api/resources/smart_collection.rb +3 -3
  128. data/lib/shopify_api/resources/storefront_access_token.rb +1 -0
  129. data/lib/shopify_api/resources/tax_line.rb +1 -0
  130. data/lib/shopify_api/resources/tax_service.rb +1 -0
  131. data/lib/shopify_api/resources/tender_transaction.rb +6 -0
  132. data/lib/shopify_api/resources/theme.rb +1 -0
  133. data/lib/shopify_api/resources/transaction.rb +1 -0
  134. data/lib/shopify_api/resources/usage_charge.rb +1 -0
  135. data/lib/shopify_api/resources/user.rb +1 -0
  136. data/lib/shopify_api/resources/variant.rb +35 -0
  137. data/lib/shopify_api/resources/webhook.rb +1 -0
  138. data/lib/shopify_api/session.rb +109 -45
  139. data/lib/shopify_api/version.rb +2 -1
  140. data/lib/verify_docs.rb +8 -0
  141. data/service.yml +8 -0
  142. data/shopify_api.gemspec +19 -8
  143. data/test/abandoned_checkouts_test.rb +29 -0
  144. data/test/access_scope_test.rb +23 -0
  145. data/test/access_token_test.rb +6 -5
  146. data/test/active_resource/json_errors_test.rb +6 -6
  147. data/test/api_access_test.rb +153 -0
  148. data/test/api_permission_test.rb +9 -0
  149. data/test/api_version_test.rb +157 -0
  150. data/test/application_charge_test.rb +30 -27
  151. data/test/application_credit_test.rb +10 -9
  152. data/test/article_test.rb +34 -35
  153. data/test/asset_test.rb +14 -6
  154. data/test/assigned_fulfillment_order_test.rb +78 -0
  155. data/test/base_test.rb +147 -59
  156. data/test/blog_test.rb +4 -3
  157. data/test/carrier_service_test.rb +7 -6
  158. data/test/cart_test.rb +2 -1
  159. data/test/checkouts_test.rb +72 -4
  160. data/test/collect_test.rb +4 -3
  161. data/test/collection_listing_test.rb +56 -13
  162. data/test/collection_publication_test.rb +40 -0
  163. data/test/collection_test.rb +50 -0
  164. data/test/countable_test.rb +3 -2
  165. data/test/currency_test.rb +21 -0
  166. data/test/custom_collection_test.rb +4 -3
  167. data/test/customer_saved_search_test.rb +18 -8
  168. data/test/customer_test.rb +22 -14
  169. data/test/detailed_log_subscriber_test.rb +113 -19
  170. data/test/discount_code_batch_test.rb +41 -0
  171. data/test/discount_code_test.rb +22 -16
  172. data/test/draft_order_test.rb +68 -52
  173. data/test/fixtures/abandoned_checkout.json +184 -0
  174. data/test/fixtures/abandoned_checkouts.json +186 -0
  175. data/test/fixtures/access_scopes.json +10 -0
  176. data/test/fixtures/api_versions.json +38 -0
  177. data/test/fixtures/apis.json +42 -0
  178. data/test/fixtures/assigned_fulfillment_orders.json +80 -0
  179. data/test/fixtures/checkout.json +160 -0
  180. data/test/fixtures/checkouts.json +25 -49
  181. data/test/fixtures/collection.json +17 -0
  182. data/test/fixtures/collection_listing_product_ids2.json +1 -0
  183. data/test/fixtures/collection_products.json +47 -0
  184. data/test/fixtures/collection_publication.json +11 -0
  185. data/test/fixtures/collection_publications.json +13 -0
  186. data/test/fixtures/currencies.json +25 -0
  187. data/test/fixtures/discount_code_batch.json +14 -0
  188. data/test/fixtures/discount_code_batch_discount_codes.json +21 -0
  189. data/test/fixtures/fulfillment_order.json +39 -0
  190. data/test/fixtures/fulfillment_order_locations_for_move.json +18 -0
  191. data/test/fixtures/fulfillment_orders.json +80 -0
  192. data/test/fixtures/fulfillments.json +53 -0
  193. data/test/fixtures/graphql/2019-10.json +1083 -0
  194. data/test/fixtures/graphql/dummy_schema.rb +16 -0
  195. data/test/fixtures/graphql/unstable.json +1083 -0
  196. data/test/fixtures/inventory_level.json +7 -0
  197. data/test/fixtures/inventory_levels.json +24 -0
  198. data/test/fixtures/order_with_properties.json +373 -0
  199. data/test/fixtures/payment.json +7 -0
  200. data/test/fixtures/payments.json +9 -0
  201. data/test/fixtures/ping/conversation.json +1 -0
  202. data/test/fixtures/ping/failed_delivery_confirmation.json +1 -0
  203. data/test/fixtures/ping/message.json +1 -0
  204. data/test/fixtures/ping/successful_delivery_confirmation.json +1 -0
  205. data/test/fixtures/product_listing_product_ids.json +1 -1
  206. data/test/fixtures/product_listing_product_ids2.json +1 -0
  207. data/test/fixtures/product_publication.json +11 -0
  208. data/test/fixtures/product_publications.json +13 -0
  209. data/test/fixtures/publications.json +9 -0
  210. data/test/fixtures/shipping_rates.json +12 -0
  211. data/test/fixtures/smart_collection_products.json +155 -0
  212. data/test/fixtures/tender_transactions.json +52 -0
  213. data/test/fulfillment_event_test.rb +31 -26
  214. data/test/fulfillment_order_test.rb +530 -0
  215. data/test/fulfillment_order_test_helper.rb +8 -0
  216. data/test/fulfillment_request_test.rb +10 -8
  217. data/test/fulfillment_service_test.rb +13 -12
  218. data/test/fulfillment_test.rb +198 -20
  219. data/test/fulfillment_v2_test.rb +66 -0
  220. data/test/gift_card_test.rb +6 -4
  221. data/test/graphql/http_client_test.rb +26 -0
  222. data/test/graphql_test.rb +190 -0
  223. data/test/image_test.rb +19 -17
  224. data/test/inventory_level_test.rb +68 -0
  225. data/test/lib/webmock_extensions/last_request.rb +16 -0
  226. data/test/limits_test.rb +4 -3
  227. data/test/location_test.rb +15 -0
  228. data/test/marketing_event_test.rb +21 -21
  229. data/test/message_enricher_test.rb +45 -0
  230. data/test/meta_test.rb +47 -0
  231. data/test/metafield_test.rb +30 -20
  232. data/test/order_risk_test.rb +17 -16
  233. data/test/order_test.rb +110 -17
  234. data/test/pagination_test.rb +290 -0
  235. data/test/payment_test.rb +19 -0
  236. data/test/policy_test.rb +6 -5
  237. data/test/price_rule_test.rb +20 -15
  238. data/test/product_listing_test.rb +72 -15
  239. data/test/product_publication_test.rb +40 -0
  240. data/test/product_test.rb +80 -19
  241. data/test/publication_test.rb +12 -0
  242. data/test/recurring_application_charge_test.rb +105 -50
  243. data/test/redirect_test.rb +4 -3
  244. data/test/refund_test.rb +22 -17
  245. data/test/report_test.rb +12 -10
  246. data/test/resource_feedback_test.rb +14 -13
  247. data/test/script_tag_test.rb +10 -9
  248. data/test/session_test.rb +497 -111
  249. data/test/shipping_rate_test.rb +17 -0
  250. data/test/shipping_zone_test.rb +4 -3
  251. data/test/shop_test.rb +47 -33
  252. data/test/smart_collection_test.rb +5 -4
  253. data/test/storefront_access_token_test.rb +13 -15
  254. data/test/tax_service_test.rb +7 -3
  255. data/test/tender_transaction_test.rb +18 -0
  256. data/test/test_helper.rb +98 -67
  257. data/test/transaction_test.rb +4 -3
  258. data/test/usage_charge_test.rb +12 -8
  259. data/test/user_test.rb +4 -3
  260. data/test/variant_test.rb +50 -20
  261. data/test/webhook_test.rb +10 -7
  262. metadata +196 -37
  263. data/.travis.yml +0 -36
  264. data/CHANGELOG +0 -292
  265. data/Gemfile_ar30 +0 -6
  266. data/Gemfile_ar31 +0 -6
  267. data/Gemfile_ar32 +0 -6
  268. data/Gemfile_ar40 +0 -6
  269. data/bin/shopify +0 -3
  270. data/lib/active_resource/base_ext.rb +0 -21
  271. data/lib/active_resource/disable_prefix_check.rb +0 -36
  272. data/lib/active_resource/to_query.rb +0 -10
  273. data/lib/shopify_api/json_format.rb +0 -18
  274. data/lib/shopify_api/resources/discount.rb +0 -11
  275. data/lib/shopify_api/resources/o_auth.rb +0 -9
  276. data/test/discount_test.rb +0 -52
  277. data/test/fixtures/discount.json +0 -17
  278. data/test/fixtures/discount_disabled.json +0 -17
  279. data/test/fixtures/discounts.json +0 -34
  280. data/test/fixtures/o_auth_revoke.json +0 -5
  281. data/test/o_auth_test.rb +0 -8
@@ -1,21 +1,25 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class UsageChargeTest < Test::Unit::TestCase
4
-
5
5
  def test_create_usage_charges
6
- fake "recurring_application_charges/654381177/usage_charges", method: :post, body: load_fixture('usage_charge')
6
+ fake("recurring_application_charges/654381177/usage_charges", method: :post, body: load_fixture('usage_charge'))
7
7
 
8
8
  usage_charge = ShopifyAPI::UsageCharge.new(description: '1000 emails', price: 1.0)
9
- usage_charge.prefix_options = {recurring_application_charge_id: 654381177}
10
- assert usage_charge.save
9
+ usage_charge.prefix_options = { recurring_application_charge_id: 654381177 }
10
+ assert(usage_charge.save)
11
11
  end
12
12
 
13
13
  def test_get_usage_charges
14
- fake "recurring_application_charges/654381177/usage_charges/359376002", method: :get, status: 201, body: load_fixture('usage_charge')
14
+ fake(
15
+ "recurring_application_charges/654381177/usage_charges/359376002",
16
+ method: :get,
17
+ status: 201,
18
+ body: load_fixture('usage_charge')
19
+ )
15
20
 
16
- usage_charge = ShopifyAPI::UsageCharge.find(359376002, params: {recurring_application_charge_id: 654381177})
21
+ usage_charge = ShopifyAPI::UsageCharge.find(359376002, params: { recurring_application_charge_id: 654381177 })
17
22
 
18
- assert_equal "1000 emails", usage_charge.description
23
+ assert_equal("1000 emails", usage_charge.description)
19
24
  end
20
-
21
25
  end
data/test/user_test.rb CHANGED
@@ -1,16 +1,17 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class UserTest < Test::Unit::TestCase
4
5
  test 'get should get a user' do
5
6
  fake 'users/799407056', method: :get, status: 200, body: load_fixture('user')
6
-
7
+
7
8
  user = ShopifyAPI::User.find(799407056)
8
9
  assert_equal 799407056, user.id
9
10
  end
10
-
11
+
11
12
  test 'get should get all users' do
12
13
  fake 'users', method: :get, status: 200, body: load_fixture('users')
13
-
14
+
14
15
  users = ShopifyAPI::User.all
15
16
  assert_equal 799407056, users.first.id
16
17
  end
data/test/variant_test.rb CHANGED
@@ -1,43 +1,73 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class VariantTest < Test::Unit::TestCase
5
+ def setup
6
+ super
7
+ refresh_variant
8
+ end
4
9
 
5
10
  def test_get_variants
6
- fake "products/632910392/variants", :method => :get, :body => load_fixture('variants')
11
+ fake("products/632910392/variants", method: :get, body: load_fixture('variants'))
7
12
 
8
- v = ShopifyAPI::Variant.find(:all, :params => {:product_id => 632910392})
13
+ variants = ShopifyAPI::Variant.find(:all, params: { product_id: 632910392 })
14
+ assert_equal(variants.map(&:id).sort, [39072856, 49148385, 457924702, 808950810])
9
15
  end
10
16
 
11
17
  def test_get_variant_namespaced
12
- fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
13
-
14
- v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
18
+ assert_equal(632910392, @variant.product_id)
15
19
  end
16
20
 
17
21
  def test_get_variant
18
- fake "variants/808950810", :method => :get, :body => load_fixture('variant')
19
-
20
- v = ShopifyAPI::Variant.find(808950810)
22
+ assert_equal(632910392, @variant.product_id)
21
23
  end
22
24
 
23
25
  def test_product_id_should_be_accessible_if_via_product_endpoint
24
- fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
25
-
26
- v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
27
- assert_equal 632910392, v.product_id
26
+ assert_equal(632910392, @variant.product_id)
28
27
  end
29
28
 
30
29
  def test_product_id_should_be_accessible_if_via_variant_endpoint
31
- fake "variants/808950810", :method => :get, :body => load_fixture('variant')
32
-
33
- v = ShopifyAPI::Variant.find(808950810)
34
- assert_equal 632910392, v.product_id
30
+ assert_equal(632910392, @variant.product_id)
35
31
  end
36
32
 
37
33
  def test_delete_variant
38
- fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
39
- fake "products/632910392/variants/808950810", :method => :delete, :body => 'destroyed'
40
- v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
41
- assert v.destroy
34
+ fake("products/632910392/variants/808950810", method: :delete, body: 'destroyed')
35
+ assert(@variant.destroy)
36
+ end
37
+
38
+ def test_read_only_inventory_quantity
39
+ ShopifyAPI::Base.api_version = '2020-01'
40
+ refresh_variant(api_version: ShopifyAPI::Base.api_version)
41
+ assert_equal(10, @variant.inventory_quantity)
42
+ end
43
+
44
+ def test_setting_variant_inventory_quantity_adjustment_fails_in_the_unstable_api
45
+ ShopifyAPI::Base.api_version = :unstable
46
+ assert_raises(ShopifyAPI::ValidationException) do
47
+ @variant.inventory_quantity_adjustment = 8
48
+ end
49
+ end
50
+
51
+ def test_setting_variant_inventory_quantity_fails_in_the_unstable_api
52
+ ShopifyAPI::Base.api_version = :unstable
53
+ assert_raises(ShopifyAPI::ValidationException) do
54
+ @variant.inventory_quantity = 8
55
+ end
56
+ end
57
+
58
+ def test_setting_variant_old_inventory_quantity_fails_in_the_unstable_api
59
+ ShopifyAPI::Base.api_version = :unstable
60
+ assert_raises(ShopifyAPI::ValidationException) do
61
+ @variant.old_inventory_quantity = 8
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ def refresh_variant(api_version: nil)
68
+ fake(
69
+ "products/632910392/variants/808950810", method: :get, body: load_fixture('variant'), api_version: api_version
70
+ )
71
+ @variant = ShopifyAPI::Variant.find(808950810, params: { product_id: 632910392 })
42
72
  end
43
73
  end
data/test/webhook_test.rb CHANGED
@@ -1,21 +1,24 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class WebhookTest < Test::Unit::TestCase
4
5
  test 'create should create a webhook' do
5
- fake 'webhooks', :method => :post, :status => 201, :body => load_fixture('webhook')
6
- webhook = ShopifyAPI::Webhook.create(address: "http://www.yoloship.it/webhook", topic: "orders/create", format: "json")
7
- assert_equal "http://www.yoloship.it/webhook", webhook.address
6
+ fake('webhooks', method: :post, status: 201, body: load_fixture('webhook'))
7
+ webhook = ShopifyAPI::Webhook.create(
8
+ address: "http://www.yoloship.it/webhook", topic: "orders/create", format: "json"
9
+ )
10
+ assert_equal("http://www.yoloship.it/webhook", webhook.address)
8
11
  end
9
12
 
10
13
  test 'get should retrieve a webhook' do
11
- fake 'webhooks/123456', :method => :get, :status => 200, :body => load_fixture('webhook')
14
+ fake('webhooks/123456', method: :get, status: 200, body: load_fixture('webhook'))
12
15
  webhook = ShopifyAPI::Webhook.find(123456)
13
- assert_equal "http://www.yoloship.it/webhook", webhook.address
16
+ assert_equal("http://www.yoloship.it/webhook", webhook.address)
14
17
  end
15
18
 
16
19
  test 'find all should return all webhooks' do
17
- fake 'webhooks', :method => :get, :status => 200, :body => load_fixture('webhooks')
20
+ fake('webhooks', method: :get, status: 200, body: load_fixture('webhooks'))
18
21
  webhook = ShopifyAPI::Webhook.all
19
- assert_equal 123456, webhook.first.id
22
+ assert_equal(123456, webhook.first.id)
20
23
  end
21
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.0
4
+ version: 9.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-29 00:00:00.000000000 Z
11
+ date: 2021-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 4.1.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 3.0.0
29
+ version: 4.1.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 6.0.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rack
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -38,22 +44,36 @@ dependencies:
38
44
  - - ">="
39
45
  - !ruby/object:Gem::Version
40
46
  version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: graphql-client
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: mocha
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - ">="
46
66
  - !ruby/object:Gem::Version
47
- version: 0.9.8
67
+ version: 1.4.0
48
68
  type: :development
49
69
  prerelease: false
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - ">="
53
73
  - !ruby/object:Gem::Version
54
- version: 0.9.8
74
+ version: 1.4.0
55
75
  - !ruby/object:Gem::Dependency
56
- name: fakeweb
76
+ name: webmock
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
79
  - - ">="
@@ -108,56 +128,122 @@ dependencies:
108
128
  - - ">="
109
129
  - !ruby/object:Gem::Version
110
130
  version: '0'
111
- description: The Shopify API gem allows Ruby developers to programmatically access
112
- the admin section of Shopify stores. The API is implemented as JSON or XML over
113
- HTTP using all four verbs (GET/POST/PUT/DELETE). Each resource, like Order, Product,
114
- or Collection, has its own URL and is manipulated in isolation.
131
+ - !ruby/object:Gem::Dependency
132
+ name: rubocop-shopify
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: pry
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: pry-byebug
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ description: |
174
+ The Shopify API gem allows Ruby developers to programmatically access the admin
175
+ section of Shopify stores. The API is implemented as JSON or XML over HTTP using
176
+ all four verbs (GET/POST/PUT/DELETE). Each resource, like Order, Product, or
177
+ Collection, has its own URL and is manipulated in isolation.
115
178
  email: developers@jadedpixel.com
116
- executables:
117
- - shopify
179
+ executables: []
118
180
  extensions: []
119
181
  extra_rdoc_files:
120
182
  - LICENSE
121
183
  - README.md
122
184
  files:
123
185
  - ".document"
186
+ - ".github/CODEOWNERS"
187
+ - ".github/ISSUE_TEMPLATE.md"
188
+ - ".github/probots.yml"
189
+ - ".github/workflows/build.yml"
124
190
  - ".gitignore"
125
- - ".travis.yml"
126
- - CHANGELOG
191
+ - ".rubocop.yml"
192
+ - ".rubocop_todo.yml"
193
+ - CHANGELOG.md
127
194
  - CONTRIBUTING.md
128
195
  - CONTRIBUTORS
129
196
  - Gemfile
130
- - Gemfile_ar30
131
- - Gemfile_ar31
132
- - Gemfile_ar32
133
- - Gemfile_ar40
197
+ - Gemfile.lock
198
+ - Gemfile_ar41
199
+ - Gemfile_ar50
200
+ - Gemfile_ar51
134
201
  - Gemfile_ar_master
135
202
  - LICENSE
136
203
  - README.md
137
204
  - RELEASING
138
205
  - Rakefile
139
- - bin/shopify
140
- - lib/active_resource/base_ext.rb
206
+ - SECURITY.md
207
+ - docker-compose.yml
208
+ - docs/_config.yml
209
+ - docs/_includes/footer.html
210
+ - docs/_includes/head.html
211
+ - docs/_layouts/index.html
212
+ - docs/graphql.md
213
+ - docs/index.md
141
214
  - lib/active_resource/connection_ext.rb
142
215
  - lib/active_resource/detailed_log_subscriber.rb
143
- - lib/active_resource/disable_prefix_check.rb
144
216
  - lib/active_resource/json_errors.rb
145
- - lib/active_resource/to_query.rb
146
217
  - lib/shopify_api.rb
218
+ - lib/shopify_api/api_access.rb
219
+ - lib/shopify_api/api_version.rb
147
220
  - lib/shopify_api/connection.rb
148
221
  - lib/shopify_api/countable.rb
222
+ - lib/shopify_api/disable_prefix_check.rb
149
223
  - lib/shopify_api/events.rb
150
- - lib/shopify_api/json_format.rb
224
+ - lib/shopify_api/graphql.rb
225
+ - lib/shopify_api/graphql/http_client.rb
226
+ - lib/shopify_api/graphql/railtie.rb
227
+ - lib/shopify_api/graphql/task.rake
151
228
  - lib/shopify_api/limits.rb
229
+ - lib/shopify_api/message_enricher.rb
230
+ - lib/shopify_api/meta.rb
152
231
  - lib/shopify_api/metafields.rb
232
+ - lib/shopify_api/paginated_collection.rb
233
+ - lib/shopify_api/pagination_link_headers.rb
153
234
  - lib/shopify_api/resources.rb
235
+ - lib/shopify_api/resources/abandoned_checkout.rb
236
+ - lib/shopify_api/resources/access_scope.rb
154
237
  - lib/shopify_api/resources/access_token.rb
155
238
  - lib/shopify_api/resources/address.rb
156
239
  - lib/shopify_api/resources/announcement.rb
240
+ - lib/shopify_api/resources/api_permission.rb
157
241
  - lib/shopify_api/resources/application_charge.rb
158
242
  - lib/shopify_api/resources/application_credit.rb
243
+ - lib/shopify_api/resources/array_base.rb
159
244
  - lib/shopify_api/resources/article.rb
160
245
  - lib/shopify_api/resources/asset.rb
246
+ - lib/shopify_api/resources/assigned_fulfillment_order.rb
161
247
  - lib/shopify_api/resources/base.rb
162
248
  - lib/shopify_api/resources/billing_address.rb
163
249
  - lib/shopify_api/resources/blog.rb
@@ -165,41 +251,52 @@ files:
165
251
  - lib/shopify_api/resources/cart.rb
166
252
  - lib/shopify_api/resources/checkout.rb
167
253
  - lib/shopify_api/resources/collect.rb
254
+ - lib/shopify_api/resources/collection.rb
168
255
  - lib/shopify_api/resources/collection_listing.rb
256
+ - lib/shopify_api/resources/collection_publication.rb
169
257
  - lib/shopify_api/resources/comment.rb
170
258
  - lib/shopify_api/resources/country.rb
259
+ - lib/shopify_api/resources/currency.rb
171
260
  - lib/shopify_api/resources/custom_collection.rb
172
261
  - lib/shopify_api/resources/customer.rb
173
262
  - lib/shopify_api/resources/customer_group.rb
174
- - lib/shopify_api/resources/customer_invite_message.rb
263
+ - lib/shopify_api/resources/customer_invite.rb
175
264
  - lib/shopify_api/resources/customer_saved_search.rb
176
- - lib/shopify_api/resources/discount.rb
177
265
  - lib/shopify_api/resources/discount_code.rb
266
+ - lib/shopify_api/resources/discount_code_batch.rb
178
267
  - lib/shopify_api/resources/draft_order.rb
179
268
  - lib/shopify_api/resources/draft_order_invoice.rb
180
269
  - lib/shopify_api/resources/event.rb
181
270
  - lib/shopify_api/resources/fulfillment.rb
182
271
  - lib/shopify_api/resources/fulfillment_event.rb
272
+ - lib/shopify_api/resources/fulfillment_order.rb
273
+ - lib/shopify_api/resources/fulfillment_order_locations_for_move.rb
183
274
  - lib/shopify_api/resources/fulfillment_request.rb
184
275
  - lib/shopify_api/resources/fulfillment_service.rb
276
+ - lib/shopify_api/resources/fulfillment_v2.rb
185
277
  - lib/shopify_api/resources/gift_card.rb
186
278
  - lib/shopify_api/resources/image.rb
279
+ - lib/shopify_api/resources/inventory_item.rb
280
+ - lib/shopify_api/resources/inventory_level.rb
187
281
  - lib/shopify_api/resources/line_item.rb
188
282
  - lib/shopify_api/resources/location.rb
189
283
  - lib/shopify_api/resources/marketing_event.rb
190
284
  - lib/shopify_api/resources/metafield.rb
191
285
  - lib/shopify_api/resources/note_attribute.rb
192
- - lib/shopify_api/resources/o_auth.rb
193
286
  - lib/shopify_api/resources/option.rb
194
287
  - lib/shopify_api/resources/order.rb
195
288
  - lib/shopify_api/resources/order_risk.rb
196
289
  - lib/shopify_api/resources/page.rb
290
+ - lib/shopify_api/resources/payment.rb
197
291
  - lib/shopify_api/resources/payment_details.rb
292
+ - lib/shopify_api/resources/ping.rb
198
293
  - lib/shopify_api/resources/policy.rb
199
294
  - lib/shopify_api/resources/price_rule.rb
200
295
  - lib/shopify_api/resources/product.rb
201
296
  - lib/shopify_api/resources/product_listing.rb
297
+ - lib/shopify_api/resources/product_publication.rb
202
298
  - lib/shopify_api/resources/province.rb
299
+ - lib/shopify_api/resources/publication.rb
203
300
  - lib/shopify_api/resources/receipt.rb
204
301
  - lib/shopify_api/resources/recurring_application_charge.rb
205
302
  - lib/shopify_api/resources/redirect.rb
@@ -210,12 +307,14 @@ files:
210
307
  - lib/shopify_api/resources/script_tag.rb
211
308
  - lib/shopify_api/resources/shipping_address.rb
212
309
  - lib/shopify_api/resources/shipping_line.rb
310
+ - lib/shopify_api/resources/shipping_rate.rb
213
311
  - lib/shopify_api/resources/shipping_zone.rb
214
312
  - lib/shopify_api/resources/shop.rb
215
313
  - lib/shopify_api/resources/smart_collection.rb
216
314
  - lib/shopify_api/resources/storefront_access_token.rb
217
315
  - lib/shopify_api/resources/tax_line.rb
218
316
  - lib/shopify_api/resources/tax_service.rb
317
+ - lib/shopify_api/resources/tender_transaction.rb
219
318
  - lib/shopify_api/resources/theme.rb
220
319
  - lib/shopify_api/resources/transaction.rb
221
320
  - lib/shopify_api/resources/usage_charge.rb
@@ -224,14 +323,22 @@ files:
224
323
  - lib/shopify_api/resources/webhook.rb
225
324
  - lib/shopify_api/session.rb
226
325
  - lib/shopify_api/version.rb
326
+ - lib/verify_docs.rb
327
+ - service.yml
227
328
  - shipit.rubygems.yml
228
329
  - shopify_api.gemspec
330
+ - test/abandoned_checkouts_test.rb
331
+ - test/access_scope_test.rb
229
332
  - test/access_token_test.rb
230
333
  - test/active_resource/json_errors_test.rb
334
+ - test/api_access_test.rb
335
+ - test/api_permission_test.rb
336
+ - test/api_version_test.rb
231
337
  - test/application_charge_test.rb
232
338
  - test/application_credit_test.rb
233
339
  - test/article_test.rb
234
340
  - test/asset_test.rb
341
+ - test/assigned_fulfillment_order_test.rb
235
342
  - test/base_test.rb
236
343
  - test/blog_test.rb
237
344
  - test/carrier_service_test.rb
@@ -239,15 +346,23 @@ files:
239
346
  - test/checkouts_test.rb
240
347
  - test/collect_test.rb
241
348
  - test/collection_listing_test.rb
349
+ - test/collection_publication_test.rb
350
+ - test/collection_test.rb
242
351
  - test/countable_test.rb
352
+ - test/currency_test.rb
243
353
  - test/custom_collection_test.rb
244
354
  - test/customer_saved_search_test.rb
245
355
  - test/customer_test.rb
246
356
  - test/detailed_log_subscriber_test.rb
357
+ - test/discount_code_batch_test.rb
247
358
  - test/discount_code_test.rb
248
- - test/discount_test.rb
249
359
  - test/draft_order_test.rb
360
+ - test/fixtures/abandoned_checkout.json
361
+ - test/fixtures/abandoned_checkouts.json
362
+ - test/fixtures/access_scopes.json
250
363
  - test/fixtures/access_token_delegate.json
364
+ - test/fixtures/api_versions.json
365
+ - test/fixtures/apis.json
251
366
  - test/fixtures/application_charge.json
252
367
  - test/fixtures/application_charges.json
253
368
  - test/fixtures/application_credit.json
@@ -256,16 +371,24 @@ files:
256
371
  - test/fixtures/articles.json
257
372
  - test/fixtures/asset.json
258
373
  - test/fixtures/assets.json
374
+ - test/fixtures/assigned_fulfillment_orders.json
259
375
  - test/fixtures/authors.json
260
376
  - test/fixtures/blog.json
261
377
  - test/fixtures/blogs.json
262
378
  - test/fixtures/carrier_service.json
263
379
  - test/fixtures/carts.json
380
+ - test/fixtures/checkout.json
264
381
  - test/fixtures/checkouts.json
265
382
  - test/fixtures/collect.json
383
+ - test/fixtures/collection.json
266
384
  - test/fixtures/collection_listing.json
267
385
  - test/fixtures/collection_listing_product_ids.json
386
+ - test/fixtures/collection_listing_product_ids2.json
268
387
  - test/fixtures/collection_listings.json
388
+ - test/fixtures/collection_products.json
389
+ - test/fixtures/collection_publication.json
390
+ - test/fixtures/collection_publications.json
391
+ - test/fixtures/currencies.json
269
392
  - test/fixtures/custom_collection.json
270
393
  - test/fixtures/customer_invite.json
271
394
  - test/fixtures/customer_saved_search.json
@@ -273,11 +396,10 @@ files:
273
396
  - test/fixtures/customers.json
274
397
  - test/fixtures/customers_account_activation_url.json
275
398
  - test/fixtures/customers_search.json
276
- - test/fixtures/discount.json
277
399
  - test/fixtures/discount_code.json
400
+ - test/fixtures/discount_code_batch.json
401
+ - test/fixtures/discount_code_batch_discount_codes.json
278
402
  - test/fixtures/discount_codes.json
279
- - test/fixtures/discount_disabled.json
280
- - test/fixtures/discounts.json
281
403
  - test/fixtures/draft_order.json
282
404
  - test/fixtures/draft_order_completed.json
283
405
  - test/fixtures/draft_order_invoice.json
@@ -286,28 +408,47 @@ files:
286
408
  - test/fixtures/events.json
287
409
  - test/fixtures/fulfillment.json
288
410
  - test/fixtures/fulfillment_event.json
411
+ - test/fixtures/fulfillment_order.json
412
+ - test/fixtures/fulfillment_order_locations_for_move.json
413
+ - test/fixtures/fulfillment_orders.json
289
414
  - test/fixtures/fulfillment_request.json
290
415
  - test/fixtures/fulfillment_service.json
416
+ - test/fixtures/fulfillments.json
291
417
  - test/fixtures/gift_card.json
292
418
  - test/fixtures/gift_card_disabled.json
419
+ - test/fixtures/graphql/2019-10.json
420
+ - test/fixtures/graphql/dummy_schema.rb
421
+ - test/fixtures/graphql/unstable.json
293
422
  - test/fixtures/image.json
294
423
  - test/fixtures/images.json
424
+ - test/fixtures/inventory_level.json
425
+ - test/fixtures/inventory_levels.json
295
426
  - test/fixtures/marketing_event.json
296
427
  - test/fixtures/marketing_events.json
297
428
  - test/fixtures/metafield.json
298
429
  - test/fixtures/metafields.json
299
- - test/fixtures/o_auth_revoke.json
300
430
  - test/fixtures/order.json
301
431
  - test/fixtures/order_risk.json
302
432
  - test/fixtures/order_risks.json
433
+ - test/fixtures/order_with_properties.json
303
434
  - test/fixtures/orders.json
435
+ - test/fixtures/payment.json
436
+ - test/fixtures/payments.json
437
+ - test/fixtures/ping/conversation.json
438
+ - test/fixtures/ping/failed_delivery_confirmation.json
439
+ - test/fixtures/ping/message.json
440
+ - test/fixtures/ping/successful_delivery_confirmation.json
304
441
  - test/fixtures/policies.json
305
442
  - test/fixtures/price_rule.json
306
443
  - test/fixtures/price_rules.json
307
444
  - test/fixtures/product.json
308
445
  - test/fixtures/product_listing.json
309
446
  - test/fixtures/product_listing_product_ids.json
447
+ - test/fixtures/product_listing_product_ids2.json
310
448
  - test/fixtures/product_listings.json
449
+ - test/fixtures/product_publication.json
450
+ - test/fixtures/product_publications.json
451
+ - test/fixtures/publications.json
311
452
  - test/fixtures/recurring_application_charge.json
312
453
  - test/fixtures/recurring_application_charge_adjustment.json
313
454
  - test/fixtures/recurring_application_charges.json
@@ -317,13 +458,16 @@ files:
317
458
  - test/fixtures/reports.json
318
459
  - test/fixtures/script_tag.json
319
460
  - test/fixtures/script_tags.json
461
+ - test/fixtures/shipping_rates.json
320
462
  - test/fixtures/shipping_zones.json
321
463
  - test/fixtures/shop.json
322
464
  - test/fixtures/smart_collection.json
465
+ - test/fixtures/smart_collection_products.json
323
466
  - test/fixtures/storefront_access_token.json
324
467
  - test/fixtures/storefront_access_tokens.json
325
468
  - test/fixtures/tags.json
326
469
  - test/fixtures/tax_service.json
470
+ - test/fixtures/tender_transactions.json
327
471
  - test/fixtures/transaction.json
328
472
  - test/fixtures/usage_charge.json
329
473
  - test/fixtures/usage_charges.json
@@ -334,21 +478,34 @@ files:
334
478
  - test/fixtures/webhook.json
335
479
  - test/fixtures/webhooks.json
336
480
  - test/fulfillment_event_test.rb
481
+ - test/fulfillment_order_test.rb
482
+ - test/fulfillment_order_test_helper.rb
337
483
  - test/fulfillment_request_test.rb
338
484
  - test/fulfillment_service_test.rb
339
485
  - test/fulfillment_test.rb
486
+ - test/fulfillment_v2_test.rb
340
487
  - test/gift_card_test.rb
488
+ - test/graphql/http_client_test.rb
489
+ - test/graphql_test.rb
341
490
  - test/image_test.rb
491
+ - test/inventory_level_test.rb
492
+ - test/lib/webmock_extensions/last_request.rb
342
493
  - test/limits_test.rb
494
+ - test/location_test.rb
343
495
  - test/marketing_event_test.rb
496
+ - test/message_enricher_test.rb
497
+ - test/meta_test.rb
344
498
  - test/metafield_test.rb
345
- - test/o_auth_test.rb
346
499
  - test/order_risk_test.rb
347
500
  - test/order_test.rb
501
+ - test/pagination_test.rb
502
+ - test/payment_test.rb
348
503
  - test/policy_test.rb
349
504
  - test/price_rule_test.rb
350
505
  - test/product_listing_test.rb
506
+ - test/product_publication_test.rb
351
507
  - test/product_test.rb
508
+ - test/publication_test.rb
352
509
  - test/recurring_application_charge_test.rb
353
510
  - test/redirect_test.rb
354
511
  - test/refund_test.rb
@@ -356,11 +513,13 @@ files:
356
513
  - test/resource_feedback_test.rb
357
514
  - test/script_tag_test.rb
358
515
  - test/session_test.rb
516
+ - test/shipping_rate_test.rb
359
517
  - test/shipping_zone_test.rb
360
518
  - test/shop_test.rb
361
519
  - test/smart_collection_test.rb
362
520
  - test/storefront_access_token_test.rb
363
521
  - test/tax_service_test.rb
522
+ - test/tender_transaction_test.rb
364
523
  - test/test_helper.rb
365
524
  - test/transaction_test.rb
366
525
  - test/usage_charge_test.rb
@@ -370,7 +529,8 @@ files:
370
529
  homepage: http://www.shopify.com/partners/apps
371
530
  licenses:
372
531
  - MIT
373
- metadata: {}
532
+ metadata:
533
+ allowed_push_host: https://rubygems.org
374
534
  post_install_message:
375
535
  rdoc_options:
376
536
  - "--charset=UTF-8"
@@ -380,15 +540,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
380
540
  requirements:
381
541
  - - ">="
382
542
  - !ruby/object:Gem::Version
383
- version: '2.0'
543
+ version: '2.4'
384
544
  required_rubygems_version: !ruby/object:Gem::Requirement
385
545
  requirements:
386
546
  - - ">="
387
547
  - !ruby/object:Gem::Version
388
548
  version: '0'
389
549
  requirements: []
390
- rubyforge_project:
391
- rubygems_version: 2.5.2
550
+ rubygems_version: 3.0.3
392
551
  signing_key:
393
552
  specification_version: 4
394
553
  summary: ShopifyAPI is a lightweight gem for accessing the Shopify admin REST web