diff --git a/lib/search_object/plugin/graphql.rb b/lib/search_object/plugin/graphql.rb index 1cfd41e..095f7dc 100644 --- a/lib/search_object/plugin/graphql.rb +++ b/lib/search_object/plugin/graphql.rb @@ -29,11 +29,7 @@ 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| + config[:arguments][name.to_s] = KEYS.inject({}) do |acc, key| acc[key] = options[key] if options.key?(key) acc end @@ -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 },