graphql-activerecord 0.6.3 → 0.6.4

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 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