graphql-activerecord 0.12.2 → 0.12.3
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/CHANGELOG.md +5 -1
- data/README.md +4 -1
- data/lib/graphql/models/backed_by_model.rb +6 -0
- data/lib/graphql/models/definition_helpers/associations.rb +1 -1
- data/lib/graphql/models/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: c10e3d4bc80c946d07858e467a8c0b1dfaf5dce1
|
|
4
|
+
data.tar.gz: 24dc06e7b2fa34ccadc5c6ad0367cb276358e8d2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fef3385be87b2d02ff298382d934d37f6dc82741947ac1cf9a8532ccdc8df8eaccff2f8ccc808e065a2f8a2b31faae66265ebf794daee6c40bdcedcc3de98934
|
|
7
|
+
data.tar.gz: 5b06f43ebcb3d7d014937ec764faec65e344fba94b90c3ba9782bb94f27e29a5944e06963aa06f64c67c24b063cf65a8a152ca84d265e3f28684d239c523ab5b
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
# 0.12.3
|
|
4
|
+
- If possible, try to get the description for a field from the column's comment in the database. (#40)
|
|
5
|
+
- Automatically generated union types (for polymorphic associations) used `demodulize` on the class name. If your model is `Name::Spaced`, this fixes a bug where it generates an invalid name. (#42)
|
|
6
|
+
|
|
3
7
|
# 0.12.2
|
|
4
8
|
In mutators, the gem now supports updating nested models, where the `find_by` option specifies an ID field. This works similarly
|
|
5
9
|
to input fields that accept ID values: it expects a global ID value to be provided, and uses your configured `model_from_id` proc
|
|
@@ -39,7 +43,7 @@ There are a few breaking changes:
|
|
|
39
43
|
to bring it more in line with common practice. You can get the old behavior by adding this to an initializer:
|
|
40
44
|
|
|
41
45
|
```ruby
|
|
42
|
-
GraphQL::Models.model_to_graphql_type -> (model_class) { "#{model_class.name}Graph".safe_constantize }
|
|
46
|
+
GraphQL::Models.model_to_graphql_type = -> (model_class) { "#{model_class.name}Graph".safe_constantize }
|
|
43
47
|
```
|
|
44
48
|
|
|
45
49
|
- Fixed a bug with the `has_many_connection` helper, which deserves some explanation. This helper constructs a
|
data/README.md
CHANGED
|
@@ -132,7 +132,7 @@ GraphQL::Models.authorize = -> (context, action, model) {
|
|
|
132
132
|
|
|
133
133
|
# The gem assumes that if your model is called `MyModel`, the corresponding type is `MyModelType`.
|
|
134
134
|
# You can override that convention. Return `nil` if the model doesn't have a GraphQL type:
|
|
135
|
-
GraphQL::Models.model_to_graphql_type -> (model_class) { "#{model_class.name}Graph".safe_constantize }
|
|
135
|
+
GraphQL::Models.model_to_graphql_type = -> (model_class) { "#{model_class.name}Graph".safe_constantize }
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
Finally, you need to set a few options on your schema:
|
|
@@ -386,6 +386,9 @@ them. It will destroy extra models, or create missing models.
|
|
|
386
386
|
- Retrieving field metadata (for building an authorization middleware)
|
|
387
387
|
- Validation error exceptions
|
|
388
388
|
|
|
389
|
+
## Getting Help
|
|
390
|
+
|
|
391
|
+
The best way to get ahold of me (@theorygeek) is in the #ruby channel on the [GraphQL Slack](https://graphql-slack.herokuapp.com/). Or feel free to open a GitHub issue (or PR), although to my shame, I'm not very good at responding to those (sorry, I'm trying to get better 😞).
|
|
389
392
|
|
|
390
393
|
## Development
|
|
391
394
|
|
|
@@ -41,6 +41,12 @@ module GraphQL
|
|
|
41
41
|
def attr(attribute, name: attribute.to_s.camelize(:lower), nullable: nil, description: nil, deprecation_reason: nil, &block)
|
|
42
42
|
name = name.to_sym unless name.is_a?(Symbol)
|
|
43
43
|
|
|
44
|
+
# Get the description from the column, if it's not provided. Doesn't work in Rails 4 :(
|
|
45
|
+
unless description
|
|
46
|
+
column = @model_type.columns_hash[attribute.to_s]
|
|
47
|
+
description = column.comment if column&.respond_to?(:comment)
|
|
48
|
+
end
|
|
49
|
+
|
|
44
50
|
options = {
|
|
45
51
|
name: name,
|
|
46
52
|
nullable: nullable,
|
|
@@ -41,7 +41,7 @@ module GraphQL
|
|
|
41
41
|
graph_types = valid_types.map { |t| GraphQL::Models.get_graphql_type(t) }.compact
|
|
42
42
|
|
|
43
43
|
GraphQL::UnionType.define do
|
|
44
|
-
name "#{model_type.name}#{reflection.foreign_type.classify}"
|
|
44
|
+
name "#{model_type.name.demodulize}#{reflection.foreign_type.classify}"
|
|
45
45
|
description "Objects that can be used as #{reflection.foreign_type.titleize.downcase} on #{model_type.name.titleize.downcase}"
|
|
46
46
|
possible_types graph_types
|
|
47
47
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphql-activerecord
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Foster
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-06-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|