shopify_api 11.0.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 480de35765a695c4111ca43f241270a12a7eb4a22c83844fa5820a27ac829125
4
- data.tar.gz: 5d20da61c0cad987a0b6048cf6a10460af29e80df2d7c89617e24e12fc5f1049
3
+ metadata.gz: 2d1425c7556a52cb215845c0706990664207eb78bf0e42f5ef555f16ebb3398b
4
+ data.tar.gz: 8fbe1be46b5ebdfaac394195cbf44ae6bcd69fc90b6c8dc0709c417936f9dc2d
5
5
  SHA512:
6
- metadata.gz: 68662d27963ec681ca2b1604e11991f33ae19b3833711828743ac17905c5ed62ed37d2ca425b2042ea2093608ece1cc14d2bc2052f0f6b71c42d21b667e7ef71
7
- data.tar.gz: febcfc8ca74c8bf13529d71d91ef6083075c011edb4aeda539b3e5a7d003471a2536a94180ba182b8bbf335ac7f7d9f4752e49ddfac08d1897e02880b24bbff8
6
+ metadata.gz: 0efde28dd28d29310a940a27d081e1979e44c8b32d282e845af4caaa93352a2d8a213b644b8868cc4416aece4a4867126b03c6e6f13b5bc36da0e2e3605caf26
7
+ data.tar.gz: 3c82238434799b244e9106eaa4c3736944bc4792c7e7794604d4c68ab9ba3587dae5b4573a5dd586c8087253726bed56dc87c257f1cd4d124c149ce3637f6c32
@@ -0,0 +1,22 @@
1
+ name: Contributor License Agreement (CLA)
2
+
3
+ on:
4
+ pull_request_target:
5
+ types: [opened, synchronize]
6
+ issue_comment:
7
+ types: [created]
8
+
9
+ jobs:
10
+ cla:
11
+ runs-on: ubuntu-latest
12
+ if: |
13
+ (github.event.issue.pull_request
14
+ && !github.event.issue.pull_request.merged_at
15
+ && contains(github.event.comment.body, 'signed')
16
+ )
17
+ || (github.event.pull_request && !github.event.pull_request.merged)
18
+ steps:
19
+ - uses: Shopify/shopify-cla-action@v1
20
+ with:
21
+ github-token: ${{ secrets.GITHUB_TOKEN }}
22
+ cla-token: ${{ secrets.CLA_TOKEN }}
data/CHANGELOG.md CHANGED
@@ -4,7 +4,9 @@ Note: For changes to the API, see https://shopify.dev/changelog?filter=api
4
4
 
5
5
  ## Unreleased
6
6
 
7
- N/A
7
+ ## Version 11.1.0
8
+
9
+ - [#1002](https://github.com/Shopify/shopify-api-ruby/pull/1002) Add new method to construct the host app URL for an embedded app, allowing for safer redirect to app inside appropriate shop admin
8
10
 
9
11
  ## Version 11.0.1
10
12
 
@@ -12,71 +14,71 @@ N/A
12
14
 
13
15
  ## Version 11.0.0
14
16
 
15
- - [#987](https://github.com/Shopify/shopify_api/pull/987) ⚠️ [Breaking] Add REST resources for July 2022 API version, remove support and REST resources for July 2021 (`2021-07`) API version
16
- - [#979](https://github.com/Shopify/shopify_api/pull/979) Update `ShopifyAPI::Context.setup` to take `old_api_secret_key` to support API credentials rotation
17
- - [#977](https://github.com/Shopify/shopify_api/pull/977) Fix webhook requests when a header is present having a symbol key (e.g. `:clearance`)
17
+ - [#987](https://github.com/Shopify/shopify-api-ruby/pull/987) ⚠️ [Breaking] Add REST resources for July 2022 API version, remove support and REST resources for July 2021 (`2021-07`) API version
18
+ - [#979](https://github.com/Shopify/shopify-api-ruby/pull/979) Update `ShopifyAPI::Context.setup` to take `old_api_secret_key` to support API credentials rotation
19
+ - [#977](https://github.com/Shopify/shopify-api-ruby/pull/977) Fix webhook requests when a header is present having a symbol key (e.g. `:clearance`)
18
20
 
19
21
  ## Version 10.1.0
20
22
 
21
- - [#933](https://github.com/Shopify/shopify_api/pull/933) Fix syntax of GraphQL query in `Webhooks.get_webhook_id` method by removing extra curly brace
22
- - [#941](https://github.com/Shopify/shopify_api/pull/941) Fix `to_hash` to return readonly attributes, unless being used for serialize the object for saving - fix issue [#930](https://github.com/Shopify/shopify_api/issues/930)
23
- - [#959](https://github.com/Shopify/shopify_api/pull/959) Update `LATEST_SUPPORTED_ADMIN_VERSION` to `2022-04` to align it with the current value
23
+ - [#933](https://github.com/Shopify/shopify-api-ruby/pull/933) Fix syntax of GraphQL query in `Webhooks.get_webhook_id` method by removing extra curly brace
24
+ - [#941](https://github.com/Shopify/shopify-api-ruby/pull/941) Fix `to_hash` to return readonly attributes, unless being used for serialize the object for saving - fix issue [#930](https://github.com/Shopify/shopify-api-ruby/issues/930)
25
+ - [#959](https://github.com/Shopify/shopify-api-ruby/pull/959) Update `LATEST_SUPPORTED_ADMIN_VERSION` to `2022-04` to align it with the current value
24
26
 
25
27
  ## Version 10.0.3
26
28
 
27
29
  ### Fixed
28
30
 
29
- - [#935](https://github.com/Shopify/shopify_api/pull/935) Fix issue [#931](https://github.com/Shopify/shopify_api/pull/931), weight of variant should be float
30
- - [#944](https://github.com/Shopify/shopify_api/pull/944) Deprecated the `validate_shop` method from the JWT class since we can trust the token payload, since it comes from Shopify.
31
+ - [#935](https://github.com/Shopify/shopify-api-ruby/pull/935) Fix issue [#931](https://github.com/Shopify/shopify-api-ruby/pull/931), weight of variant should be float
32
+ - [#944](https://github.com/Shopify/shopify-api-ruby/pull/944) Deprecated the `validate_shop` method from the JWT class since we can trust the token payload, since it comes from Shopify.
31
33
 
32
34
  ## Version 10.0.2
33
35
 
34
- - [#929](https://github.com/Shopify/shopify_api/pull/929) Aligning sorbet dependencies
36
+ - [#929](https://github.com/Shopify/shopify-api-ruby/pull/929) Aligning sorbet dependencies
35
37
 
36
38
  ## Version 10.0.1
37
39
 
38
40
  ### Fixed
39
41
 
40
- - [#919](https://github.com/Shopify/shopify_api/pull/919) Allow REST resources to configure a deny list of attributes to be excluded when saving
41
- - [#920](https://github.com/Shopify/shopify_api/pull/920) Set all values received from the API response to REST resource objects, and allow setting / getting attributes with special characters (such as `?`)
42
- - [#927](https://github.com/Shopify/shopify_api/pull/927) Fix the `ShopifyAPI::AdminVersions` module for backward compatibility
42
+ - [#919](https://github.com/Shopify/shopify-api-ruby/pull/919) Allow REST resources to configure a deny list of attributes to be excluded when saving
43
+ - [#920](https://github.com/Shopify/shopify-api-ruby/pull/920) Set all values received from the API response to REST resource objects, and allow setting / getting attributes with special characters (such as `?`)
44
+ - [#927](https://github.com/Shopify/shopify-api-ruby/pull/927) Fix the `ShopifyAPI::AdminVersions` module for backward compatibility
43
45
 
44
46
  ## Version 10.0.0
45
47
 
46
- - Major update to the library to provide _all_ essential functions needed for a Shopify app, supporting embedded apps with session tokens. See the [full list of changes](https://github.com/Shopify/shopify_api#breaking-change-notice-for-version-1000) here
48
+ - Major update to the library to provide _all_ essential functions needed for a Shopify app, supporting embedded apps with session tokens. See the [full list of changes](https://github.com/Shopify/shopify-api-ruby#breaking-change-notice-for-version-1000) here
47
49
 
48
50
  ## Version 9.5.1
49
51
 
50
- - [#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
52
+ - [#891](https://github.com/Shopify/shopify-api-ruby/pull/891) Removed the upper bound on the `activeresource` dependency to allow apps to use the latest version
51
53
 
52
54
  ## Version 9.5
53
55
 
54
- - [#883](https://github.com/Shopify/shopify_api/pull/883) Add support for Ruby 3.0
56
+ - [#883](https://github.com/Shopify/shopify-api-ruby/pull/883) Add support for Ruby 3.0
55
57
 
56
58
  ## Version 9.4.1
57
59
 
58
- - [#847](https://github.com/Shopify/shopify_api/pull/847) Update `create_permission_url` method to use grant_options
59
- - [#852](https://github.com/Shopify/shopify_api/pull/852) Bumping kramdown to fix a security vulnerability
60
+ - [#847](https://github.com/Shopify/shopify-api-ruby/pull/847) Update `create_permission_url` method to use grant_options
61
+ - [#852](https://github.com/Shopify/shopify-api-ruby/pull/852) Bumping kramdown to fix a security vulnerability
60
62
 
61
63
  ## Version 9.4.0
62
64
 
63
- - [#843](https://github.com/Shopify/shopify_api/pull/843) Introduce a new `access_scopes` attribute on the Session class.
65
+ - [#843](https://github.com/Shopify/shopify-api-ruby/pull/843) Introduce a new `access_scopes` attribute on the Session class.
64
66
  - Specifying this in the Session constructor is optional. By default, this attribute returns `nil`.
65
67
 
66
68
  ## Version 9.3.0
67
69
 
68
- - [#797](https://github.com/Shopify/shopify_api/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
70
+ - [#797](https://github.com/Shopify/shopify-api-ruby/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
69
71
 
70
- - [#818](https://github.com/Shopify/shopify_api/pull/818) Avoid depending on ActiveSupport in Sesssion class.
72
+ - [#818](https://github.com/Shopify/shopify-api-ruby/pull/818) Avoid depending on ActiveSupport in Sesssion class.
71
73
 
72
74
  - Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
73
75
 
74
- - [#802](https://github.com/Shopify/shopify_api/pull/802) Made `inventory_quantity` a read-only field in Variant
76
+ - [#802](https://github.com/Shopify/shopify-api-ruby/pull/802) Made `inventory_quantity` a read-only field in Variant
75
77
 
76
- - [#821](https://github.com/Shopify/shopify_api/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
78
+ - [#821](https://github.com/Shopify/shopify-api-ruby/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
77
79
  The `ActiveResource::DetailedLogSubscriber` no longer automatically attaches when the class is loaded. If you were previously relying on that behaviour, you'll now need to call `ActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)`. (If using the new `SHOPIFY_LOG_PATH` environment setting then this is handled for you).
78
80
 
79
- - Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify_api/pull/829)
81
+ - Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify-api-ruby/pull/829)
80
82
 
81
83
  ## Version 9.2.0
82
84
 
@@ -84,52 +86,52 @@ N/A
84
86
 
85
87
  ## Version 9.1.1
86
88
 
87
- - Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify_api/pull/726)
89
+ - Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify-api-ruby/pull/726)
88
90
 
89
91
  ## Version 9.1.0
90
92
 
91
- - Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify_api/pull/714)
93
+ - Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify-api-ruby/pull/714)
92
94
 
93
95
  ## Version 9.0.4
94
96
 
95
- - Contains [#708](https://github.com/Shopify/shopify_api/pull/708) which is a revert for [#655](https://github.com/shopify/shopify_api/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
97
+ - Contains [#708](https://github.com/Shopify/shopify-api-ruby/pull/708) which is a revert for [#655](https://github.com/Shopify/shopify-api-ruby/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
96
98
 
97
99
  ## Version 9.0.3
98
100
 
99
- - We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/shopify/shopify_api/pull/655) Deprecation and migration information can be found in the following documents:
101
+ - We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/Shopify/shopify-api-ruby/pull/655) Deprecation and migration information can be found in the following documents:
100
102
  - [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
101
103
  - [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
102
104
  - [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
103
- - Added support for the Discount Code API batch endpoints [#701](https://github.com/shopify/shopify_api/pull/701)
105
+ - Added support for the Discount Code API batch endpoints [#701](https://github.com/Shopify/shopify-api-ruby/pull/701)
104
106
  - [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
105
107
  - [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
106
108
  - [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
107
- - Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify_api/pull/700)
109
+ - Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify-api-ruby/pull/700)
108
110
 
109
111
  ## Version 9.0.2
110
112
 
111
- - Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify_api/pull/693)
113
+ - Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify-api-ruby/pull/693)
112
114
 
113
115
  ## Version 9.0.1
114
116
 
115
- - Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify_api/pull/685)
116
- - Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify_api/pull/677)
117
+ - Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify-api-ruby/pull/685)
118
+ - Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify-api-ruby/pull/677)
117
119
 
118
120
  ## Version 9.0.0
119
121
 
120
- - Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
122
+ - Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify-api-ruby/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
121
123
 
122
- - Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
124
+ - Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify-api-ruby/pull/670)
123
125
 
124
- - Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
126
+ - Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify-api-ruby/pull/669)
125
127
 
126
- - Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
128
+ - Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify-api-ruby/pull/639):
127
129
 
128
130
  - `fulfillment.create` with `line_items_by_fulfillment_order`
129
131
  - `fulfillment.update_tracking`
130
132
  - `fulfillment.cancel`
131
133
 
132
- - Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
134
+ - Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify-api-ruby/pull/637):
133
135
 
134
136
  - `fulfillment_order.fulfillment_request`
135
137
  - `fulfillment_order.fulfillment_request.accept`
@@ -138,35 +140,35 @@ N/A
138
140
  - `fulfillment_order.cancellation_request.accept`
139
141
  - `fulfillment_order.cancellation_request.reject`
140
142
 
141
- - Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
143
+ - Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify-api-ruby/pull/635)
142
144
 
143
- - Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
145
+ - Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify-api-ruby/pull/633)
144
146
 
145
147
  ## Version 8.1.0
146
148
 
147
- - Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
148
- - Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
149
- - Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
150
- - Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
151
- - Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
152
- - Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
149
+ - Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify-api-ruby/pull/656)
150
+ - Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify-api-ruby/pull/657)
151
+ - Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify-api-ruby/pull/647)
152
+ - Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify-api-ruby/pull/625)
153
+ - Small ruby compat fix [#623](https://github.com/Shopify/shopify-api-ruby/pull/623)
154
+ - Small consistency change [#621](https://github.com/Shopify/shopify-api-ruby/pull/621)
153
155
 
154
156
  ## Version 8.0.0
155
157
 
156
- - Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
158
+ - Api Version changes [#600](https://github.com/Shopify/shopify-api-ruby/pull/600)
157
159
  - Remove static Api Version definitions.
158
160
  - Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
159
161
  - See [migration notes](README.md#-breaking-change-notice-for-version-800-)
160
162
  - `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
161
- - `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
162
- - Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
163
+ - `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify-api-ruby/pull/615/files)
164
+ - Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify-api-ruby/pull/609)
163
165
 
164
166
  ## Version 7.1.0
165
167
 
166
168
  - Add 2019-10 to known API versions
167
- - Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
168
- [#611](https://github.com/Shopify/shopify_api/pull/611)
169
- - `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
169
+ - Add support for cursor pagination [#594](https://github.com/Shopify/shopify-api-ruby/pull/594) and
170
+ [#611](https://github.com/Shopify/shopify-api-ruby/pull/611)
171
+ - `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify-api-ruby/pull/605)
170
172
 
171
173
  ## Version 7.0.2
172
174
 
@@ -174,7 +176,7 @@ N/A
174
176
 
175
177
  ## Version 7.0.1
176
178
 
177
- - Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
179
+ - Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify-api-ruby/pull/563)
178
180
 
179
181
  ## Version 7.0.0
180
182
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify_api (11.0.1)
4
+ shopify_api (11.1.0)
5
5
  concurrent-ruby
6
6
  hash_diff
7
7
  httparty
@@ -44,10 +44,11 @@ GEM
44
44
  minitest (5.15.0)
45
45
  mocha (1.13.0)
46
46
  multi_xml (0.6.0)
47
- oj (3.13.15)
47
+ netrc (0.11.0)
48
+ oj (3.13.20)
48
49
  openssl (3.0.0)
49
- parallel (1.21.0)
50
- parser (3.1.2.0)
50
+ parallel (1.22.1)
51
+ parser (3.1.2.1)
51
52
  ast (~> 2.4.1)
52
53
  pry (0.14.1)
53
54
  coderay (~> 1.1)
@@ -55,7 +56,7 @@ GEM
55
56
  public_suffix (4.0.6)
56
57
  rainbow (3.1.1)
57
58
  rake (13.0.6)
58
- rbi (0.0.14)
59
+ rbi (0.0.15)
59
60
  ast
60
61
  parser (>= 2.6.4.0)
61
62
  sorbet-runtime (>= 0.5.9204)
@@ -79,20 +80,21 @@ GEM
79
80
  rubocop (>= 0.90.0)
80
81
  ruby-progressbar (1.11.0)
81
82
  securerandom (0.2.0)
82
- sorbet (0.5.10109)
83
- sorbet-static (= 0.5.10109)
84
- sorbet-runtime (0.5.10109)
85
- sorbet-static (0.5.10109-universal-darwin-21)
86
- sorbet-static (0.5.10109-x86_64-linux)
87
- sorbet-static-and-runtime (0.5.10109)
88
- sorbet (= 0.5.10109)
89
- sorbet-runtime (= 0.5.10109)
83
+ sorbet (0.5.10297)
84
+ sorbet-static (= 0.5.10297)
85
+ sorbet-runtime (0.5.10297)
86
+ sorbet-static (0.5.10297-universal-darwin-21)
87
+ sorbet-static (0.5.10297-x86_64-linux)
88
+ sorbet-static-and-runtime (0.5.10297)
89
+ sorbet (= 0.5.10297)
90
+ sorbet-runtime (= 0.5.10297)
90
91
  spoom (1.1.11)
91
92
  sorbet (>= 0.5.9204)
92
93
  sorbet-runtime (>= 0.5.9204)
93
94
  thor (>= 0.19.2)
94
- tapioca (0.8.3)
95
+ tapioca (0.9.2)
95
96
  bundler (>= 1.17.3)
97
+ netrc (>= 0.11.0)
96
98
  parallel (>= 1.21.0)
97
99
  pry (>= 0.12.2)
98
100
  rbi (~> 0.0.0, >= 0.0.14)
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- ![Build Status]() -->
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
5
- ![Build Status](https://github.com/Shopify/shopify_api/workflows/CI/badge.svg?branch=main)
5
+ ![Build Status](https://github.com/Shopify/shopify-api-ruby/workflows/CI/badge.svg?branch=main)
6
6
 
7
7
  This library provides support for Ruby [Shopify apps](https://apps.shopify.com/) to access the [Shopify Admin API](https://shopify.dev/api/admin), by making it easier to perform the following actions:
8
8
 
@@ -15,7 +15,7 @@ In addition to the Admin API, this library also allows querying the [Storefront
15
15
 
16
16
  You can use this library in any application that has a Ruby backend, since it doesn't rely on any specific framework — you can include it alongside your preferred stack and use the features that you need to build your app.
17
17
 
18
- **Note**: These instructions apply to v10 or later of this package. If you're running v9 in your app, you can find the documentation [in this branch](https://github.com/Shopify/shopify_api/tree/v9).
18
+ **Note**: These instructions apply to v10 or later of this package. If you're running v9 in your app, you can find the documentation [in this branch](https://github.com/Shopify/shopify-api-ruby/tree/v9).
19
19
 
20
20
  ## Requirements
21
21
 
@@ -97,7 +97,7 @@ Here are the main features it provides:
97
97
  - Webhook management, with features for adding handlers and registering them with Shopify.
98
98
  - Storefront GraphQL API support
99
99
 
100
- Please refer to [the documentation](https://github.com/Shopify/shopify_api/blob/main/docs/getting_started.md) in this repository for instructions on how to use each of these components.
100
+ Please refer to [the documentation](docs/getting_started.md) in this repository for instructions on how to use each of these components.
101
101
 
102
102
  With this, a lot changed in how apps access the library. Here are the updates you should make when migrating to v10:
103
103
 
@@ -1,6 +1,6 @@
1
1
  # Make a GraphQL API call
2
2
 
3
- Once you have a [session](https://github.com/Shopify/shopify_api/blob/main/docs/usage/oauth.md#fetching-sessions) after completing oauth, you can make GraphQL queries to the Admin API with `ShopifyAPI::Clients::Graphql::Admin`
3
+ Once you have a [session](oauth.md#fetching-sessions) after completing oauth, you can make GraphQL queries to the Admin API with `ShopifyAPI::Clients::Graphql::Admin`
4
4
 
5
5
  Below is an example
6
6
 
@@ -1,6 +1,8 @@
1
1
  # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "fileutils"
5
+
4
6
  module ShopifyAPI
5
7
  module Auth
6
8
  class FileSessionStorage
@@ -83,6 +83,11 @@ module ShopifyAPI
83
83
  Context.activate_session(original_session)
84
84
  end
85
85
  end
86
+
87
+ sig { params(str: String).returns(Session) }
88
+ def deserialize(str)
89
+ Oj.load(str)
90
+ end
86
91
  end
87
92
 
88
93
  sig { returns(String) }
@@ -90,16 +95,11 @@ module ShopifyAPI
90
95
  Oj.dump(self)
91
96
  end
92
97
 
93
- sig { params(str: String).returns(Session) }
94
- def self.deserialize(str)
95
- Oj.load(str)
96
- end
97
-
98
98
  alias_method :eql?, :==
99
99
  sig { params(other: T.nilable(Session)).returns(T::Boolean) }
100
100
  def ==(other)
101
101
  if other
102
- T.must(
102
+ (
103
103
  id == other.id &&
104
104
  shop == other.shop &&
105
105
  state == other.state &&
@@ -0,0 +1,26 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module ShopifyAPI
5
+ module Auth
6
+ extend T::Sig
7
+
8
+ class << self
9
+ extend T::Sig
10
+
11
+ sig { params(host: T.nilable(String)).returns(String) }
12
+ def embedded_app_url(host)
13
+ unless Context.setup?
14
+ raise Errors::ContextNotSetupError, "ShopifyAPI::Context not setup, please call ShopifyAPI::Context.setup"
15
+ end
16
+
17
+ unless host
18
+ raise Errors::MissingRequiredArgumentError, "host argument is required"
19
+ end
20
+
21
+ decoded_host = Base64.decode64(host)
22
+ "https://#{decoded_host}/apps/#{Context.api_key}"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,9 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module ShopifyAPI
5
+ module Errors
6
+ class MissingRequiredArgumentError < StandardError
7
+ end
8
+ end
9
+ end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module ShopifyAPI
5
- VERSION = "11.0.1"
5
+ VERSION = "11.1.0"
6
6
  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: 11.0.1
4
+ version: 11.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2022-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -247,9 +247,9 @@ files:
247
247
  - ".github/CODEOWNERS"
248
248
  - ".github/ISSUE_TEMPLATE.md"
249
249
  - ".github/dependabot.yml"
250
- - ".github/probots.yml"
251
250
  - ".github/pull_request_template.md"
252
251
  - ".github/workflows/build.yml"
252
+ - ".github/workflows/cla.yml"
253
253
  - ".rubocop.yml"
254
254
  - BREAKING_CHANGES_FOR_OLDER_VERSIONS.md
255
255
  - CHANGELOG.md
@@ -274,6 +274,7 @@ files:
274
274
  - docs/usage/webhooks.md
275
275
  - lib/shopify_api.rb
276
276
  - lib/shopify_api/admin_versions.rb
277
+ - lib/shopify_api/auth.rb
277
278
  - lib/shopify_api/auth/associated_user.rb
278
279
  - lib/shopify_api/auth/auth_scopes.rb
279
280
  - lib/shopify_api/auth/file_session_storage.rb
@@ -302,6 +303,7 @@ files:
302
303
  - lib/shopify_api/errors/invalid_webhook_registration_error.rb
303
304
  - lib/shopify_api/errors/max_http_retries_exceeded_error.rb
304
305
  - lib/shopify_api/errors/missing_jwt_token_error.rb
306
+ - lib/shopify_api/errors/missing_required_argument_error.rb
305
307
  - lib/shopify_api/errors/no_active_session_error.rb
306
308
  - lib/shopify_api/errors/no_session_cookie_error.rb
307
309
  - lib/shopify_api/errors/no_webhook_handler.rb
data/.github/probots.yml DELETED
@@ -1,2 +0,0 @@
1
- enabled:
2
- - cla