graphlyte 0.1.5 → 0.1.6

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: e9b09edacd482f9beb267eed78593bc26f5f0563648399f60fec47d1552052eb
4
- data.tar.gz: 39756650800195570dc38a7f7990e0b0efc001033045d6865f16b275749d3de5
3
+ metadata.gz: 6daff225ff526c8866c59601de914bbf7cac87c0393d5a3918a16f78c249eaa7
4
+ data.tar.gz: 104deccd41d6dc5fd2be8a263f8549e5190f088717737fed61b9ae9da78aca6d
5
5
  SHA512:
6
- metadata.gz: e084fd25d75112d2d97a994c63259d436a684e6880a8ea9ef47a56337012f78615bdeb89cb03a39603bdbb5dabd30c07e8b0167f46facae650a990f11dba4377
7
- data.tar.gz: 88cd8dd425fc74a8707b203683d76b5d168649b979708deffcec92f867c569a4f465ea0c30350ce9caa459c5b9ba667835f9e7ada7e9df4bee85b19bce7dda7b
6
+ metadata.gz: 539c3dfd3b611f79341f32b8eb61db2c76d0c92fd3e2e3d7312dd6d1946ec51463ac7f7f8db09e663a8681e9afc065f5cf0b7a5788d5129ca6e08d5b4870ce28
7
+ data.tar.gz: 642ca3c211d11e1b6613a6910ed618685d9a87ae3057438f7f5ab3ccc63dba26041691a4a81309b77e41b682b86ad4aefe6789631fd3b0ddccb11b882d959947
@@ -2,10 +2,11 @@ require_relative "./refinements/string_refinement"
2
2
  module Graphlyte
3
3
  class Query < Fieldset
4
4
  using Refinements::StringRefinement
5
- attr_reader :name
5
+ attr_reader :name, :type
6
6
 
7
- def initialize(query_name=nil, **hargs)
7
+ def initialize(query_name=nil, type=:query, **hargs)
8
8
  @name = query_name
9
+ @type = type
9
10
  super(**hargs)
10
11
  end
11
12
 
@@ -16,10 +17,10 @@ module Graphlyte
16
17
  end
17
18
 
18
19
  def to_json(name="anonymousQuery", **hargs)
19
- variables = flatten_variables(builder.>>)
20
+ variables = flatten_variables(builder.>>).uniq { |v| v.value }
20
21
  types = merge_variable_types(variables, hargs)
21
22
 
22
- str = "query #{name}"
23
+ str = "#{type} #{name}"
23
24
  unless types.empty?
24
25
  type_new = types.map do |type_arr|
25
26
  "$#{type_arr[0].to_camel_case}: #{type_arr[1]}"
data/lib/graphlyte.rb CHANGED
@@ -11,7 +11,11 @@ module Graphlyte
11
11
  TYPES = Types.new
12
12
 
13
13
  def self.query(name = nil, &block)
14
- Query.new(name, builder: build(&block))
14
+ Query.new(name, :query, builder: build(&block))
15
+ end
16
+
17
+ def self.mutation(name = nil, &block)
18
+ Query.new(name, :mutation, builder: build(&block))
15
19
  end
16
20
 
17
21
  def self.fragment(fragment_name, model_name, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphlyte
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Gregory
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-14 00:00:00.000000000 Z
11
+ date: 2021-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
- rubygems_version: 3.2.3
79
+ rubygems_version: 3.2.22
80
80
  signing_key:
81
81
  specification_version: 4
82
82
  summary: craft graphql queries with ruby