class GraphqlRails::Model::FindOrBuildGraphqlTypeClass
Initializes class to define graphql type and fields.
Attributes
description[R]
name[R]
new_class[RW]
type_name[R]
Public Class Methods
new(name:, type_name:, description: nil)
click to toggle source
# File lib/graphql_rails/model/find_or_build_graphql_type_class.rb, line 11 def initialize(name:, type_name:, description: nil) @name = name @type_name = type_name @description = description @new_class = false end
Public Instance Methods
klass()
click to toggle source
# File lib/graphql_rails/model/find_or_build_graphql_type_class.rb, line 18 def klass @klass ||= Object.const_defined?(type_name) && Object.const_get(type_name) || build_graphql_type_klass end
new_class?()
click to toggle source
# File lib/graphql_rails/model/find_or_build_graphql_type_class.rb, line 22 def new_class? new_class end
Private Instance Methods
build_graphql_type_klass()
click to toggle source
# File lib/graphql_rails/model/find_or_build_graphql_type_class.rb, line 31 def build_graphql_type_klass graphql_type_name = name graphql_type_description = description graphql_type_klass = Class.new(GraphQL::Schema::Object) do graphql_name(graphql_type_name) description(graphql_type_description) end self.new_class = true Object.const_set(type_name, graphql_type_klass) end