From dfcc051e933428661c90e059cbd513c1649dc10f Mon Sep 17 00:00:00 2001 From: Tomas Novikovas Date: Mon, 16 Sep 2019 13:53:29 +0300 Subject: [PATCH 1/3] Change name conversion place --- lib/search_object/plugin/graphql.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/search_object/plugin/graphql.rb b/lib/search_object/plugin/graphql.rb index 1cfd41e..b324772 100644 --- a/lib/search_object/plugin/graphql.rb +++ b/lib/search_object/plugin/graphql.rb @@ -29,10 +29,6 @@ module ClassMethods KEYS = %i[type default description].freeze def option(name, options = {}, &block) config[:arguments] ||= {} - - name = name.to_s.split('_').map(&:capitalize).join - name[0] = name[0].downcase - config[:arguments][name] = KEYS.inject({}) do |acc, key| acc[key] = options[key] if options.key?(key) acc @@ -104,6 +100,9 @@ def field_options resolver_class: self, deprecation_reason: deprecation_reason, arguments: (config[:arguments] || {}).inject({}) do |acc, (name, options)| + name = name.to_s.split('_').map(&:capitalize).join + name[0] = name[0].downcase + acc[name] = ::GraphQL::Schema::Argument.new( name: name.to_s, type: options.fetch(:type) { raise MissingTypeDefinitionError, name }, From 235c0037952cc011ff2ba65c3c60aab8478eb2d3 Mon Sep 17 00:00:00 2001 From: Tomas Novikovas Date: Mon, 16 Sep 2019 14:05:55 +0300 Subject: [PATCH 2/3] Fix tests --- lib/search_object/plugin/graphql.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/search_object/plugin/graphql.rb b/lib/search_object/plugin/graphql.rb index b324772..c48de8d 100644 --- a/lib/search_object/plugin/graphql.rb +++ b/lib/search_object/plugin/graphql.rb @@ -29,7 +29,7 @@ module ClassMethods KEYS = %i[type default description].freeze def option(name, options = {}, &block) config[:arguments] ||= {} - config[:arguments][name] = KEYS.inject({}) do |acc, key| + config[:arguments][name.to_s] = KEYS.inject({}) do |acc, key| acc[key] = options[key] if options.key?(key) acc end @@ -100,9 +100,6 @@ def field_options resolver_class: self, deprecation_reason: deprecation_reason, arguments: (config[:arguments] || {}).inject({}) do |acc, (name, options)| - name = name.to_s.split('_').map(&:capitalize).join - name[0] = name[0].downcase - acc[name] = ::GraphQL::Schema::Argument.new( name: name.to_s, type: options.fetch(:type) { raise MissingTypeDefinitionError, name }, From f06314d66406409343180252141ae6e2df0aad96 Mon Sep 17 00:00:00 2001 From: Tomas Novikovas Date: Mon, 16 Sep 2019 14:41:48 +0300 Subject: [PATCH 3/3] Add setting --- lib/search_object/plugin/graphql.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/search_object/plugin/graphql.rb b/lib/search_object/plugin/graphql.rb index c48de8d..095f7dc 100644 --- a/lib/search_object/plugin/graphql.rb +++ b/lib/search_object/plugin/graphql.rb @@ -100,6 +100,9 @@ def field_options resolver_class: self, deprecation_reason: deprecation_reason, arguments: (config[:arguments] || {}).inject({}) do |acc, (name, options)| + name = name.to_s.split('_').map(&:capitalize).join + name[0] = name[0].downcase + acc[name] = ::GraphQL::Schema::Argument.new( name: name.to_s, type: options.fetch(:type) { raise MissingTypeDefinitionError, name },