shopify_api 9.5 → 9.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86c73a80fab5607e57486b42ce37c750797bfc5ac391012b0ca4b8ad2e8dee7e
4
- data.tar.gz: 7b4df963e1f9163d23a51623aa845f32a0bf996abf5f447f22a7226f0b6f0b5d
3
+ metadata.gz: f24aa6fda25253f8eaa77769a3e911da6eee1b3640da54d2d5cd1b21e2456edc
4
+ data.tar.gz: 40077cf4eca48ec27872dfba720594872ffe50118424edc99b065e92e43720a3
5
5
  SHA512:
6
- metadata.gz: 87c1fdb069d8f3946eb2136c99eede3f03eb86373ccd60a1e7e46188b7fd141fd418e92a665802949b6b196625aafd6e4065af815cc52f5ff5d437e25517b7d1
7
- data.tar.gz: ca85757c71561e6956f1e7499142a45f44d511e9256fb112fc594302d12bdca3d0071d68534a2e8061e0949251aec1c00cd8c5c977a7cfc040f3419ab7a9a1bb
6
+ metadata.gz: 4e9e85ec74d6e9c09342f51057d738cf2cf0d77d745ec1313a70663248c989e77524138170661a73ed02d7b1b70c6b569d0a1a866922bab6035ef73b8b29510f
7
+ data.tar.gz: 25349d3d9802381d96cdbbff0b3180950f6685ebf8d863edfe642090da6bb15d1c3fcb9fe7eb4927a281c7f8d95b93f0095db78e8568d762a79f762fd08f8504
@@ -12,8 +12,6 @@ jobs:
12
12
  strategy:
13
13
  matrix:
14
14
  version:
15
- - "2.4"
16
- - "2.5"
17
15
  - "2.6"
18
16
  - "2.7"
19
17
  - "3.0"
@@ -21,7 +19,8 @@ jobs:
21
19
  - Gemfile_ar41
22
20
  - Gemfile_ar50
23
21
  - Gemfile_ar51
24
- - Gemfile_ar_master
22
+ - Gemfile_ar60
23
+ - Gemfile_ar_main
25
24
  exclude:
26
25
  - version: "2.7"
27
26
  gemfile: Gemfile_ar41
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## Unreleased
2
+
3
+ ## Version 9.5.2
4
+
5
+ - [#1356](https://github.com/Shopify/shopify-api-ruby/pull/1356) Autoload ActiveResource classes to improve load time for Rails apps.
6
+
7
+ ## Version 9.5.1
8
+
9
+ - [#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
10
+
1
11
  ## Version 9.5
2
12
 
3
13
  * [#883](https://github.com/Shopify/shopify_api/pull/883) Add support for Ruby 3.0
data/Gemfile.lock CHANGED
@@ -1,11 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify_api (9.5)
5
- activeresource (>= 4.1.0, < 6.0.0)
4
+ shopify_api (9.5.2)
5
+ activeresource (>= 4.1.0)
6
6
  graphql-client
7
7
  rack
8
- webrick
9
8
 
10
9
  GEM
11
10
  remote: https://rubygems.org/
@@ -42,7 +41,7 @@ GEM
42
41
  eventmachine (1.2.7)
43
42
  ffi (1.12.2)
44
43
  forwardable-extended (2.6.0)
45
- graphql (1.12.16)
44
+ graphql (1.13.4)
46
45
  graphql-client (0.17.0)
47
46
  activesupport (>= 3.0)
48
47
  graphql (~> 1.10)
@@ -130,7 +129,6 @@ GEM
130
129
  addressable (>= 2.3.6)
131
130
  crack (>= 0.3.2)
132
131
  hashdiff (>= 0.4.0, < 2.0.0)
133
- webrick (1.7.0)
134
132
  zeitwerk (2.3.0)
135
133
 
136
134
  PLATFORMS
data/Gemfile_ar60 ADDED
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem "activeresource", "~> 6.0"
data/README.md CHANGED
@@ -61,6 +61,8 @@ For more information and detailed documentation about the API visit https://deve
61
61
 
62
62
  This gem requires Ruby 2.4 as of version 7.0.
63
63
 
64
+ **Note**: when we release the next major version, we will be dropping support for Ruby 2.4 and 2.5, which have now reached EOL, as per [the releases page](https://www.ruby-lang.org/en/downloads/branches/).
65
+
64
66
  ## Installation
65
67
 
66
68
  Add `shopify_api` to your `Gemfile`:
@@ -87,13 +89,13 @@ ShopifyAPI sessions need to be configured with a fully authorized URL of a parti
87
89
 
88
90
  ### 1) Create an app
89
91
 
90
- First, create a new application in either the partners admin or your store admin.
92
+ First, create a new application in either the partners admin or your store admin.
91
93
 
92
94
  **Private apps** are used for merchant-owned scripts and apps that run silently in the background on a single shop. Private apps aren't able to render any content in the admin. Private apps are created through the store admin.
93
95
 
94
96
  **Custom apps** are also used for a single shop, but they have access to [app extensions](https://shopify.dev/docs/app-extensions) that allow the app to render content in the admin and are managed and created through the partners dashboard.
95
97
 
96
- **Public apps** can be installed on many stores, and can be added to the Shopify App Store to generate revenue for the developer.
98
+ **Public apps** can be installed on many stores, and can be added to the Shopify App Store to generate revenue for the developer.
97
99
 
98
100
  For a private app, you'll need the API_KEY and the PASSWORD; otherwise, you'll need the API_KEY and SHARED_SECRET.
99
101
 
@@ -112,7 +114,7 @@ For a private App you just need to set the base site url as follows:
112
114
  That's it; you're done! Next, skip to step 6 and start using the API!
113
115
 
114
116
  ### 2B) Public and Custom Apps
115
-
117
+
116
118
  For public and custom apps, you will need to supply two parameters to the Session class before you instantiate it:
117
119
 
118
120
  ```ruby
@@ -130,11 +132,11 @@ Public and Custom apps need an access token from each shop to access that shop's
130
132
  ```ruby
131
133
  # We need to instantiate the session object before using it
132
134
  shopify_session = ShopifyAPI::Session.new(domain: "#{SHOP_NAME}.myshopify.com", api_version: api_version, token: nil)
133
-
135
+
134
136
  # Then, create a permission URL with the session
135
137
  permission_url = shopify_session.create_permission_url(scope, "https://my_redirect_uri.com", { state: "My Nonce" })
136
138
  ```
137
-
139
+
138
140
  After creating the permission URL, the user should be directed to this URL to approve the app.
139
141
 
140
142
  Under the hood, the `create_permission_url` method is preparing the app to make the following request :
@@ -167,8 +169,8 @@ Once authorized, the shop redirects the owner to the return URL of your applicat
167
169
  token = shopify_session.request_token(params)
168
170
  ```
169
171
 
170
- This method will save the token to the session object and return it. All fields returned by Shopify, other than the access token itself, are stored in the session's `extra` attribute. For a list of all fields returned by Shopify, read [our OAuth documentation](https://shopify.dev/tutorials/authenticate-with-oauth#confirming-installation).
171
-
172
+ This method will save the token to the session object and return it. All fields returned by Shopify, other than the access token itself, are stored in the session's `extra` attribute. For a list of all fields returned by Shopify, read [our OAuth documentation](https://shopify.dev/tutorials/authenticate-with-oauth#confirming-installation).
173
+
172
174
  If you prefer to exchange the token manually, you can make a POST request to the shop with the following parameters :
173
175
 
174
176
  ```
@@ -198,7 +200,7 @@ Once authorized, the shop redirects the owner to the return URL of your applicat
198
200
  1) The list of scopes in `shopify_session.extra['scope']` is the same as you requested.
199
201
  2) If you requested an online-mode access token, `shopify_session.extra['associated_user']` must be present.
200
202
  Failing either of these tests means the end-user may have tampered with the URL parameters during the OAuth authentication phase. You should avoid using this access token and revoke it immediately. If you use the [`omniauth-shopify-oauth2`](https://github.com/Shopify/omniauth-shopify-oauth2) gem, these checks are done automatically for you.
201
-
203
+
202
204
  ### 5) Activating the session
203
205
 
204
206
  Once you have a token, simply pass in the `token` and `extra` hash (optional) when creating the session object:
@@ -333,7 +335,7 @@ If you were previously using Shopify's [activeresource fork](https://github.com/
333
335
 
334
336
  ## Bulk Operations
335
337
 
336
- With the GraphQL Admin API, you can use bulk operations to asynchronously fetch data in bulk. The API is designed to reduce complexity and improve performance when dealing with large volumes of data.
338
+ With the GraphQL Admin API, you can use bulk operations to asynchronously fetch data in bulk. The API is designed to reduce complexity and improve performance when dealing with large volumes of data.
337
339
 
338
340
  Instead of manually paginating results and managing a client-side throttle, you can instead run a bulk query operation. Shopify’s infrastructure does the hard work of executing your query, and then provides you with a URL where you can download all of the data.
339
341
 
@@ -465,7 +467,7 @@ end
465
467
 
466
468
  ## Pagination
467
469
 
468
- Shopify uses [Relative cursor-based pagination](https://shopify.dev/tutorials/make-paginated-requests-to-rest-admin-api) to provide more than a single page of results.
470
+ Shopify uses [Relative cursor-based pagination](https://shopify.dev/tutorials/make-paginated-requests-to-rest-admin-api) to provide more than a single page of results.
469
471
 
470
472
  ```ruby
471
473
  products = ShopifyAPI::Product.find(:all, params: { limit: 50 })
@@ -628,9 +630,9 @@ or you can even use our automated rake task for docker:
628
630
  bundle exec rake docker
629
631
  ```
630
632
 
631
- # Logging
633
+ # Logging
632
634
 
633
- Enable ActiveResource's logger with
635
+ Enable ActiveResource's logger with
634
636
 
635
637
  `export SHOPIFY_LOG_PATH={your_log_path}`
636
638
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'active_resource/base'
2
+ require 'active_resource/validations'
3
3
 
4
4
  module ActiveResource
5
5
  class Errors < ActiveModel::Errors
@@ -1,4 +1,7 @@
1
1
  # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/hash"
4
+
2
5
  module ShopifyAPI
3
6
  class ApiVersion
4
7
  class UnknownVersion < StandardError; end
@@ -4,6 +4,8 @@ require 'rails/railtie'
4
4
  module ShopifyAPI
5
5
  module GraphQL
6
6
  class Railtie < Rails::Railtie
7
+ config.eager_load_namespaces << ShopifyAPI
8
+
7
9
  initializer 'shopify_api.initialize_graphql_clients' do |app|
8
10
  ShopifyAPI::GraphQL.schema_location = app.root.join('db', ShopifyAPI::GraphQL.schema_location)
9
11
  ShopifyAPI::GraphQL.initialize_clients
@@ -1,23 +1,33 @@
1
1
  # frozen_string_literal: true
2
- require 'webrick/httputils'
3
2
 
4
3
  module ShopifyAPI
5
4
  module HmacParams
6
- extend WEBrick::HTTPUtils
5
+ class << self
6
+ def encode(params)
7
+ params
8
+ .except(:signature, :hmac, :action, :controller)
9
+ .map { |k,v| sprintf("%s=%s", encode_key(k), encode_value(v)) }
10
+ .sort.join("&")
11
+ end
7
12
 
8
- def self.encode(params)
9
- params
10
- .except(:signature, :hmac, :action, :controller)
11
- .map { |k,v| sprintf("%s=%s", encode_key(k), encode_value(v)) }
12
- .sort.join("&")
13
- end
13
+ KEY_REGEXP = /([#{Regexp.escape("&=%")}])/n
14
+ def encode_key(key)
15
+ _escape(key.to_s, KEY_REGEXP)
16
+ end
14
17
 
15
- def self.encode_key(key)
16
- _escape(key.to_s, _make_regex('&=%'))
17
- end
18
+ VALUE_REGEXP = /([#{Regexp.escape("&%")}])/n
19
+ def encode_value(value)
20
+ _escape(value.to_s, VALUE_REGEXP)
21
+ end
22
+
23
+ private
18
24
 
19
- def self.encode_value(value)
20
- _escape(value.to_s, _make_regex('&%'))
25
+ def _escape(str, regex)
26
+ str = str.b
27
+ str.gsub!(regex) {"%%%02X" % $1.ord}
28
+ # %-escaped string should contain US-ASCII only
29
+ str.force_encoding(Encoding::US_ASCII)
30
+ end
21
31
  end
22
32
  end
23
33
  end
@@ -164,3 +164,10 @@ module ShopifyAPI
164
164
  end
165
165
  end
166
166
  end
167
+
168
+
169
+ if ShopifyAPI::Base.respond_to?(:connection_class)
170
+ ShopifyAPI::Base.connection_class = ShopifyAPI::Connection
171
+ else
172
+ require 'active_resource/connection_ext'
173
+ end
@@ -1,4 +1,98 @@
1
1
  # frozen_string_literal: true
2
- require 'shopify_api/resources/base'
3
- require 'shopify_api/resources/array_base'
4
- Dir.glob("#{File.dirname(__FILE__)}/resources/*").each { |file| require(file) }
2
+
3
+ module ShopifyAPI
4
+ eager_autoload do
5
+ autoload_under('resources') do
6
+ autoload(:Base)
7
+ autoload(:ArrayBase)
8
+ autoload(:AbandonedCheckout)
9
+ autoload(:AccessScope)
10
+ autoload(:AccessToken)
11
+ autoload(:Address)
12
+ autoload(:Announcement)
13
+ autoload(:ApiPermission)
14
+ autoload(:ApplicationCharge)
15
+ autoload(:ApplicationCredit)
16
+ autoload(:ArrayBase)
17
+ autoload(:Article)
18
+ autoload(:Asset)
19
+ autoload(:AssignedFulfillmentOrder)
20
+ autoload(:Base)
21
+ autoload(:BillingAddress)
22
+ autoload(:Blog)
23
+ autoload(:CarrierService)
24
+ autoload(:Cart)
25
+ autoload(:Checkout)
26
+ autoload(:Collect)
27
+ autoload(:Collection)
28
+ autoload(:CollectionListing)
29
+ autoload(:CollectionPublication)
30
+ autoload(:Comment)
31
+ autoload(:Country)
32
+ autoload(:Currency)
33
+ autoload(:CustomCollection)
34
+ autoload(:Customer)
35
+ autoload(:CustomerGroup)
36
+ autoload(:CustomerInvite)
37
+ autoload(:CustomerSavedSearch)
38
+ autoload(:DiscountCode)
39
+ autoload(:DiscountCodeBatch)
40
+ autoload(:DraftOrder)
41
+ autoload(:DraftOrderInvoice)
42
+ autoload(:Event)
43
+ autoload(:Fulfillment)
44
+ autoload(:FulfillmentEvent)
45
+ autoload(:FulfillmentOrder)
46
+ autoload(:FulfillmentOrderLocationsForMove)
47
+ autoload(:FulfillmentRequest)
48
+ autoload(:FulfillmentService)
49
+ autoload(:FulfillmentV2)
50
+ autoload(:GiftCard)
51
+ autoload(:Image)
52
+ autoload(:InventoryItem)
53
+ autoload(:InventoryLevel)
54
+ autoload(:LineItem)
55
+ autoload(:Location)
56
+ autoload(:MarketingEvent)
57
+ autoload(:Metafield)
58
+ autoload(:NoteAttribute)
59
+ autoload(:Option)
60
+ autoload(:Order)
61
+ autoload(:OrderRisk)
62
+ autoload(:Page)
63
+ autoload(:Payment)
64
+ autoload(:PaymentDetails)
65
+ autoload(:Policy)
66
+ autoload(:PriceRule)
67
+ autoload(:Product)
68
+ autoload(:ProductListing)
69
+ autoload(:ProductPublication)
70
+ autoload(:Province)
71
+ autoload(:Publication)
72
+ autoload(:Receipt)
73
+ autoload(:RecurringApplicationCharge)
74
+ autoload(:Redirect)
75
+ autoload(:Refund)
76
+ autoload(:Report)
77
+ autoload(:ResourceFeedback)
78
+ autoload(:Rule)
79
+ autoload(:ScriptTag)
80
+ autoload(:ShippingAddress)
81
+ autoload(:ShippingLine)
82
+ autoload(:ShippingRate)
83
+ autoload(:ShippingZone)
84
+ autoload(:Shop)
85
+ autoload(:SmartCollection)
86
+ autoload(:StorefrontAccessToken)
87
+ autoload(:TaxLine)
88
+ autoload(:TaxService)
89
+ autoload(:TenderTransaction)
90
+ autoload(:Theme)
91
+ autoload(:Transaction)
92
+ autoload(:UsageCharge)
93
+ autoload(:User)
94
+ autoload(:Variant)
95
+ autoload(:Webhook)
96
+ end
97
+ end
98
+ end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ShopifyAPI
3
- VERSION = "9.5"
3
+ VERSION = "9.5.2"
4
4
  end
data/lib/shopify_api.rb CHANGED
@@ -5,36 +5,40 @@ require 'active_support/core_ext/class/attribute_accessors'
5
5
  require 'digest/md5'
6
6
  require 'base64'
7
7
  require 'active_resource/detailed_log_subscriber'
8
- require 'shopify_api/limits'
9
- require 'shopify_api/api_version'
10
- require 'shopify_api/meta'
11
8
  require 'active_resource/json_errors'
12
- require 'shopify_api/paginated_collection'
13
- require 'shopify_api/disable_prefix_check'
9
+
10
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.6")
11
+ puts("\nshopify_api: NOTE: Support for Ruby #{RUBY_VERSION} will be dropped in the next major release. Please update to Ruby 2.6 or newer before updating this gem.\n\n")
12
+ end
14
13
 
15
14
  module ShopifyAPI
15
+ extend ActiveSupport::Autoload
16
+
17
+ require 'shopify_api/limits'
18
+ require 'shopify_api/api_version'
19
+ require 'shopify_api/paginated_collection'
20
+ require 'shopify_api/disable_prefix_check'
21
+ require 'shopify_api/events'
22
+ require 'shopify_api/metafields'
23
+ require 'shopify_api/countable'
24
+ require 'shopify_api/resources'
25
+ require 'shopify_api/session'
26
+ require 'shopify_api/hmac_params'
27
+ require 'shopify_api/api_access'
28
+ require 'shopify_api/message_enricher'
29
+ require 'shopify_api/connection'
30
+ require 'shopify_api/pagination_link_headers'
31
+ require 'shopify_api/graphql'
32
+
33
+ eager_autoload do
34
+ autoload(:Meta)
35
+ end
36
+
16
37
  include Limits
17
38
  end
18
39
 
19
- require 'shopify_api/events'
20
- require 'shopify_api/metafields'
21
- require 'shopify_api/countable'
22
- require 'shopify_api/resources'
23
- require 'shopify_api/session'
24
- require 'shopify_api/hmac_params'
25
- require 'shopify_api/api_access'
26
- require 'shopify_api/message_enricher'
27
- require 'shopify_api/connection'
28
- require 'shopify_api/pagination_link_headers'
29
- require 'shopify_api/graphql'
30
40
  require 'shopify_api/graphql/railtie' if defined?(Rails)
31
41
 
32
- if ShopifyAPI::Base.respond_to?(:connection_class)
33
- ShopifyAPI::Base.connection_class = ShopifyAPI::Connection
34
- else
35
- require 'active_resource/connection_ext'
36
- end
37
-
38
42
  if ENV["SHOPIFY_LOG_PATH"]
39
43
  ActiveResource::Base.logger = Logger.new(ENV["SHOPIFY_LOG_PATH"])
40
44
  ActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)
data/shopify_api.gemspec CHANGED
@@ -32,10 +32,9 @@ Gem::Specification.new do |s|
32
32
 
33
33
  s.required_ruby_version = ">= 2.4"
34
34
 
35
- s.add_runtime_dependency("activeresource", ">= 4.1.0", "< 6.0.0")
35
+ s.add_runtime_dependency("activeresource", ">= 4.1.0")
36
36
  s.add_runtime_dependency("rack")
37
37
  s.add_runtime_dependency("graphql-client")
38
- s.add_runtime_dependency("webrick")
39
38
 
40
39
  s.add_development_dependency("mocha", ">= 1.4.0")
41
40
  s.add_development_dependency("webmock")
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: '9.5'
4
+ version: 9.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-10-07 00:00:00.000000000 Z
10
+ date: 2025-01-06 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activeresource
@@ -17,9 +16,6 @@ dependencies:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: 4.1.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 6.0.0
23
19
  type: :runtime
24
20
  prerelease: false
25
21
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,9 +23,6 @@ dependencies:
27
23
  - - ">="
28
24
  - !ruby/object:Gem::Version
29
25
  version: 4.1.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 6.0.0
33
26
  - !ruby/object:Gem::Dependency
34
27
  name: rack
35
28
  requirement: !ruby/object:Gem::Requirement
@@ -58,20 +51,6 @@ dependencies:
58
51
  - - ">="
59
52
  - !ruby/object:Gem::Version
60
53
  version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: webrick
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
54
  - !ruby/object:Gem::Dependency
76
55
  name: mocha
77
56
  requirement: !ruby/object:Gem::Requirement
@@ -212,7 +191,8 @@ files:
212
191
  - Gemfile_ar41
213
192
  - Gemfile_ar50
214
193
  - Gemfile_ar51
215
- - Gemfile_ar_master
194
+ - Gemfile_ar60
195
+ - Gemfile_ar_main
216
196
  - LICENSE
217
197
  - README.md
218
198
  - RELEASING
@@ -305,7 +285,6 @@ files:
305
285
  - lib/shopify_api/resources/page.rb
306
286
  - lib/shopify_api/resources/payment.rb
307
287
  - lib/shopify_api/resources/payment_details.rb
308
- - lib/shopify_api/resources/ping.rb
309
288
  - lib/shopify_api/resources/policy.rb
310
289
  - lib/shopify_api/resources/price_rule.rb
311
290
  - lib/shopify_api/resources/product.rb
@@ -548,7 +527,6 @@ licenses:
548
527
  - MIT
549
528
  metadata:
550
529
  allowed_push_host: https://rubygems.org
551
- post_install_message:
552
530
  rdoc_options:
553
531
  - "--charset=UTF-8"
554
532
  require_paths:
@@ -564,8 +542,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
564
542
  - !ruby/object:Gem::Version
565
543
  version: '0'
566
544
  requirements: []
567
- rubygems_version: 3.2.20
568
- signing_key:
545
+ rubygems_version: 3.6.2
569
546
  specification_version: 4
570
547
  summary: ShopifyAPI is a lightweight gem for accessing the Shopify admin REST web
571
548
  services
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Dir.glob("#{File.dirname(__FILE__)}/ping/*").each { |file| require file }
File without changes