shopify_api_bruv 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +1 -1
- data/lib/shopify_api_bruv/resources/graphql/resource.rb +5 -5
- data/lib/shopify_api_bruv/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 352d24353de02f75eacf6c36787cb7874b39ca1a46861fda5e7158b3c832849c
|
4
|
+
data.tar.gz: af2a5e82844ee8ab33f6084594ffb36f9849ba00204fb75f33478fc7a5fbaa02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83468266128639b7439119bd14099e9d8082a71edd5b738b6321651e44398aa0ccf40dded8f48b46d74469c570e0783982e5bef8ae7250ca4c2a1ca39bae6df6
|
7
|
+
data.tar.gz: 10b38d91004d40e2c8f71cec7de451e1295b447b592b91fd0ae8f0fc4053108eca59f788740fe44ca4af3eeb358f3337de9a85a2fc4f307d3297dede4fdc603a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.2.1] - 2023-12-09
|
4
|
+
|
5
|
+
- Adds feature to automatically fetch the mutation object name to pre-select data
|
6
|
+
|
7
|
+
## [0.2.0] - 2023-12-09
|
8
|
+
|
9
|
+
- Merges [PR #1](https://github.com/Idjent/shopify_api_bruv/pull/1) Fixes resource not being re-usable for mutations
|
10
|
+
|
3
11
|
## [0.1.0] - 2023-12-08
|
4
12
|
|
5
13
|
- Initial release
|
data/Gemfile.lock
CHANGED
@@ -4,19 +4,18 @@ module ShopifyApiBruv
|
|
4
4
|
module Resources
|
5
5
|
module Graphql
|
6
6
|
class Resource < Base
|
7
|
-
attr_reader :client
|
7
|
+
attr_reader :client
|
8
8
|
attr_accessor :query
|
9
9
|
|
10
10
|
MAX_TRIES = ENV.fetch('SHOPIFY_API_BRUV_REQUEST_MAX_TRIES', 3).to_i
|
11
11
|
SLEEP_TIMER = ENV.fetch('SHOPIFY_API_BRUV_REQUEST_SLEEP_TIMER', 4).to_i
|
12
|
+
MUTATION_OBJECT_NAME_PATTERN = /mutation\s+(\w+)\s*\(.*/
|
12
13
|
|
13
|
-
def initialize(config
|
14
|
+
def initialize(config:)
|
14
15
|
@client = Clients::Graphql::Client.new(config:)
|
15
|
-
@variables = variables
|
16
|
-
@mutation_object_name = mutation_object_name
|
17
16
|
end
|
18
17
|
|
19
|
-
def request(tries: 0)
|
18
|
+
def request(variables: nil, tries: 0)
|
20
19
|
raise NotImplementedError, 'Please set a query in the derived class' if query.nil?
|
21
20
|
|
22
21
|
response = client.request(query:, variables:)
|
@@ -31,6 +30,7 @@ module ShopifyApiBruv
|
|
31
30
|
|
32
31
|
handle_response_errors(body:, query:, variables:, tries:)
|
33
32
|
|
33
|
+
mutation_object_name = query.match(MUTATION_OBJECT_NAME_PATTERN)&.captures&.first
|
34
34
|
mutation_object_name.nil? ? body['data'] : body.dig('data', mutation_object_name)
|
35
35
|
end
|
36
36
|
|