shopify_api 4.9.0 → 9.4.1

Sign up to get free protection for your applications and to get access to all the features.
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