graphql-rails 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|