graphql-rails 0.0.5 → 0.0.6
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 +4 -4
- data/lib/graphql/rails/operations.rb +6 -1
- data/lib/graphql/rails/schema.rb +1 -0
- data/lib/graphql/rails/types.rb +7 -0
- data/lib/graphql/rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69988931a81e92d26f43e2bae7e2d73b99fbc3bd
|
4
|
+
data.tar.gz: 1f9f59e4c2ef955b6c97d09a0b8e851226eac961
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74bc93005e853cec5cea9d9fa17b8746bf9427739568f9ed13ed5ccf8d2f54b759e31e6cb6a9d0f32cc178911644e1ca3dcc7539428b4bb88d6c5ece6b1a2073
|
7
|
+
data.tar.gz: 318261d7c7f8f34d529b3fb9b49b294b43f0c93fcbeb9d277f7ab91742b832fe7ba2c777f94c74c095da9faff3ac4fbe0f1ca8970654850103b1142400e4828d
|
@@ -21,10 +21,11 @@ module GraphQL
|
|
21
21
|
# Define a query operation.
|
22
22
|
# Definitions should have the following form:
|
23
23
|
#
|
24
|
-
# query :find_cats => [
|
24
|
+
# query :find_cats => [AnimalInterface] do
|
25
25
|
# description 'This query returns a list of Cat models'
|
26
26
|
# argument :age, Integer, :required
|
27
27
|
# argument :breed, String
|
28
|
+
# uses CatType
|
28
29
|
# resolve do
|
29
30
|
# raise 'Too old' if args[:age] > 20
|
30
31
|
# Cat.find(age: args[:age], breed: args[:breed])
|
@@ -94,6 +95,10 @@ module GraphQL
|
|
94
95
|
@field.name = Types.to_field_name(name)
|
95
96
|
end
|
96
97
|
|
98
|
+
def uses(type)
|
99
|
+
Types.explicit.push Types.resolve(type)
|
100
|
+
end
|
101
|
+
|
97
102
|
def type(type)
|
98
103
|
@type = type
|
99
104
|
@field.type = Types.resolve(type)
|
data/lib/graphql/rails/schema.rb
CHANGED
data/lib/graphql/rails/types.rb
CHANGED
@@ -8,6 +8,7 @@ module GraphQL
|
|
8
8
|
# Clear internal state, probably due to a Rails reload.
|
9
9
|
def clear
|
10
10
|
@types = nil
|
11
|
+
@explicit = nil
|
11
12
|
extensions.each do |extension|
|
12
13
|
extension.clear
|
13
14
|
end
|
@@ -39,6 +40,12 @@ module GraphQL
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
43
|
+
# Array of types that should be explicitly included in the schema.
|
44
|
+
# Useful for ensuring that interface implmentations are included.
|
45
|
+
def explicit
|
46
|
+
@explicit ||= []
|
47
|
+
end
|
48
|
+
|
42
49
|
# Lookup an arbitrary object from its GraphQL type name and ID.
|
43
50
|
def lookup(type_name, id)
|
44
51
|
try_extensions(:lookup, type_name, id)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Reggio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|