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