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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9a8788c8cc1ec6374a0731412c5e1c408748dfe46713c5cd8c1c30bd9c99886
4
- data.tar.gz: 193240048cc58515fff187fb7ac2df8dc69cd3276857d1cbe592596e383c0e31
3
+ metadata.gz: 352d24353de02f75eacf6c36787cb7874b39ca1a46861fda5e7158b3c832849c
4
+ data.tar.gz: af2a5e82844ee8ab33f6084594ffb36f9849ba00204fb75f33478fc7a5fbaa02
5
5
  SHA512:
6
- metadata.gz: d6839799269d3b4292ac2a2bd554fe08ee9f6fb0771644ade268d14b1e75980b26d8e1eae7cd62e08a6d0cc5d22572b7da8cb1054f9d28947a80f16e1e70d8fb
7
- data.tar.gz: 5d012fb371d797871b31ac67000d7dc4ca7410b11b4eb72fd71e43adce5331fb963ad0ccb3fefaeb353e3aa840608e91f20227430bbae55e3f9c172b7252a4bf
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify_api_bruv (0.1.0)
4
+ shopify_api_bruv (0.2.1)
5
5
  httparty
6
6
  logger
7
7
 
@@ -4,19 +4,18 @@ module ShopifyApiBruv
4
4
  module Resources
5
5
  module Graphql
6
6
  class Resource < Base
7
- attr_reader :client, :variables, :mutation_object_name
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:, variables: nil, mutation_object_name: nil)
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
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ShopifyApiBruv
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api_bruv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Idjent