module GraphQL::Sugar::Define::Attribute
Public Class Methods
call(type_defn, field_name, type_or_field = nil, desc = nil, **kwargs, &block)
click to toggle source
# File lib/graphql/sugar/define/attribute.rb, line 5 def self.call(type_defn, field_name, type_or_field = nil, desc = nil, **kwargs, &block) # rubocop:disable Metrics/ParameterLists model_class = Sugar.get_model_class(type_defn) column_name = Sugar.get_column_name(field_name) type_or_field ||= kwargs[:type] if !kwargs[:type].nil? type_or_field ||= Sugar.get_graphql_type(model_class, column_name) kwargs[:property] ||= column_name.to_sym if kwargs[:resolve].nil? GraphQL::Define::AssignObjectField.call(type_defn, field_name, type_or_field, desc, **kwargs, &block) end