graphql-activerecord 0.6.3 → 0.6.4

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
  SHA1:
3
- metadata.gz: 2e9f35aa548f10556deb6481be1861a221b07c55
4
- data.tar.gz: f98efc92a044fc51a2ed003b9f591870786373e6
3
+ metadata.gz: 2b316be308228bed3428c853f1758487bfc539c0
4
+ data.tar.gz: 80ac3b3c800a9917cd5c3cd372f210d28c04bedc
5
5
  SHA512:
6
- metadata.gz: 4b9a15fec449730050cb307f886a3c14c3d862d65caed881d385d7708a861e4272a957efa3a7905fce02d64da450489f59b03343d08710b36daaee05f9bed06f
7
- data.tar.gz: b72ed02d3c119472a37a6e7f4fd27ea2499472a843460522d53d9f33a28348098e3e109f2fbb5c0e4c5b37957aaa0e30b105a7752fcc49b875bbe1ac18054bf9
6
+ metadata.gz: e455b6ea181c3e193c9dbd338a16e010b3022c240e0ec16dda062dc6f8e98ba4cd242843a9e67a5a35cc0c7a5e58b79880c1496e1b5c0c41c1589ba1e5b12ebf
7
+ data.tar.gz: 27c16e7e09fb531eb9bbf121485a822cb3335142ebc495d6a9637a0784da3588857ded4eabfc6f1fe66359386964dbbeea64a949d1cead293fa688325eaa670d
@@ -63,9 +63,12 @@ module GraphQL
63
63
  end
64
64
 
65
65
  def self.define_mutator(definer, model_type, null_behavior:, &block)
66
+ # HACK: To get the name of the mutation, to avoid possible collisions with other type names
67
+ prefix = definer.instance_variable_get(:@target).name
68
+
66
69
  mutator_definition = MutatorDefinition.new(model_type, null_behavior: null_behavior)
67
70
  mutator_definition.field_map.instance_exec(&block)
68
- MutationHelpers.print_input_fields(mutator_definition.field_map, definer, model_type.name)
71
+ MutationHelpers.print_input_fields(mutator_definition.field_map, definer, "#{prefix}Input")
69
72
  mutator_definition
70
73
  end
71
74
  end
@@ -13,15 +13,18 @@ module GraphQL::Models
13
13
  end
14
14
 
15
15
  if field_map.leave_null_unchanged?
16
- field_names = field_map.fields.map { |f| f[:name] } + field_map.nested_maps.map { |m| m.name }
16
+ field_names = field_map.fields.select { |f| !f[:required] }.map { |f| f[:name] }
17
+ field_names += field_map.nested_maps.reject(&:required).map { |m| m.name }
17
18
  field_names = field_names.sort_by { |s| s }
18
19
 
19
- enum = GraphQL::EnumType.define do
20
- name "#{map_name_prefix}UnsettableFields"
21
- field_names.each { |n| value(n, n.titleize, value: n) }
22
- end
20
+ unless field_names.empty?
21
+ enum = GraphQL::EnumType.define do
22
+ name "#{map_name_prefix}UnsettableFields"
23
+ field_names.each { |n| value(n, n.titleize, value: n) }
24
+ end
23
25
 
24
- input_field('unsetFields', types[!enum])
26
+ input_field('unsetFields', types[!enum])
27
+ end
25
28
  end
26
29
  end
27
30
 
@@ -32,8 +32,8 @@ module GraphQL::Models
32
32
 
33
33
  def save!
34
34
  fail StandardError.new("Need to call apply_changes before #{__method__}") unless @all_changes
35
-
36
- ActiveRecord::Base.transaction do
35
+
36
+ ActiveRecord::Base.transaction(requires_new: true) do
37
37
  changed_models.each do |model|
38
38
  next if model.destroyed?
39
39
 
@@ -1,5 +1,5 @@
1
1
  module GraphQL
2
2
  module Models
3
- VERSION = "0.6.3"
3
+ VERSION = "0.6.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Foster