lib/graphql_rails/attributes/attribute.rb in graphql_rails-0.8.0 vs lib/graphql_rails/attributes/attribute.rb in graphql_rails-1.0.0

- old
+ new

@@ -1,22 +1,27 @@ # frozen_string_literal: true require 'graphql' require 'graphql_rails/attributes/attributable' +require 'graphql_rails/input_configurable' module GraphqlRails module Attributes # contains info about single graphql attribute class Attribute include Attributable + include InputConfigurable + attr_reader :attributes + def initialize(name, type = nil, description: nil, property: name, required: nil) @initial_type = type @initial_name = name @description = description @property = property.to_s @required = required + @attributes ||= {} end def type(new_type = nil) return @initial_type if new_type.nil? @@ -39,13 +44,25 @@ end def field_args [ field_name, - graphql_field_type, + type_parser.type_arg, + *description, { - property: property.to_sym, - description: description + method: property.to_sym, + null: optional? + } + ] + end + + def argument_args + [ + field_name, + type_parser.type_arg, + { + description: description, + required: required? } ] end protected