Class: GraphQL::Rails::ActiveReflection::ModelReflection

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/rails/active_reflection/model_reflection.rb

Constant Summary collapse

@@reflections =
{}

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(obj, ctx) ⇒ ModelReflection

Returns a new instance of ModelReflection.



13
14
15
16
17
18
# File 'lib/graphql/rails/active_reflection/model_reflection.rb', line 13

def initialize(obj, ctx)
  @klass = obj.class
  @type = ctx.schema.resolve_type(obj, ctx)
  @schema = ctx.schema
  get_attributes
end

Class Attribute Details

.schema_nameObject

Returns the value of attribute schema_name.



21
22
23
# File 'lib/graphql/rails/active_reflection/model_reflection.rb', line 21

def schema_name
  @schema_name
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



11
12
13
# File 'lib/graphql/rails/active_reflection/model_reflection.rb', line 11

def attributes
  @attributes
end

Class Method Details

.call(obj, args, ctx) ⇒ Object

Raises:



6
7
8
9
# File 'lib/graphql/rails/active_reflection/model_reflection.rb', line 6

def self.call(obj, args, ctx)
  raise TypeError, "ActiveReflection object type must be derived from ActiveRecord::Base" unless obj.is_a?(ActiveRecord::Base)
  @@reflections[obj] ||= new(obj, ctx)
end