class GraphqlRails::Attributes::InputAttribute
contains info about single graphql input attribute
Attributes
description[R]
initial_name[R]
initial_type[R]
options[R]
subtype[R]
Public Class Methods
new(name, type: nil, description: nil, subtype: nil, required: nil, options: {})
click to toggle source
rubocop:disable Metrics/ParameterLists
# File lib/graphql_rails/attributes/input_attribute.rb, line 14 def initialize(name, type: nil, description: nil, subtype: nil, required: nil, options: {}) @initial_name = name @initial_type = type @description = description @options = options @subtype = subtype @required = required end
Public Instance Methods
input_argument_args()
click to toggle source
rubocop:enable Metrics/ParameterLists
# File lib/graphql_rails/attributes/input_attribute.rb, line 24 def input_argument_args type = raw_input_type || input_type_parser.input_type_arg [field_name, type] end
input_argument_options()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 30 def input_argument_options { required: required?, description: description, camelize: false } end
paginated?()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 34 def paginated? false end
Private Instance Methods
attribute_name_parser()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 42 def attribute_name_parser @attribute_name_parser ||= AttributeNameParser.new( initial_name, options: attribute_naming_options ) end
attribute_naming_options()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 48 def attribute_naming_options options.slice(:input_format) end
input_type_parser()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 52 def input_type_parser @input_type_parser ||= begin initial_parseable_type = initial_type || attribute_name_parser.graphql_type InputTypeParser.new(initial_parseable_type, subtype: subtype) end end
raw_input_type()
click to toggle source
# File lib/graphql_rails/attributes/input_attribute.rb, line 59 def raw_input_type return initial_type if initial_type.is_a?(GraphQL::InputObjectType) return initial_type.graphql_input_type if initial_type.is_a?(Model::Input) end