Module: HQ::GraphQL::Resource::ClassMethods

Defined in:
lib/hq/graphql/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#graphql_nameObject



22
23
24
# File 'lib/hq/graphql/resource.rb', line 22

def graphql_name
  @graphql_name || model_name.demodulize
end

#model_nameObject



26
27
28
# File 'lib/hq/graphql/resource.rb', line 26

def model_name
  @model_name || name.demodulize
end

Instance Method Details

#find_record(attrs, context) ⇒ Object



16
17
18
19
20
# File 'lib/hq/graphql/resource.rb', line 16

def find_record(attrs, context)
  primary_key = model_klass.primary_key.to_sym
  primary_key_value = attrs[primary_key]
  scope(context).find_by(primary_key => primary_key_value)
end

#input_klassObject



38
39
40
# File 'lib/hq/graphql/resource.rb', line 38

def input_klass
  @input_klass ||= build_input_object
end

#model_klassObject



30
31
32
# File 'lib/hq/graphql/resource.rb', line 30

def model_klass
  @model_klass ||= model_name&.safe_constantize
end

#mutation_klassesObject



34
35
36
# File 'lib/hq/graphql/resource.rb', line 34

def mutation_klasses
  @mutation_klasses ||= {}.with_indifferent_access
end

#query_klassObject



42
43
44
# File 'lib/hq/graphql/resource.rb', line 42

def query_klass
  @query_klass ||= build_graphql_object
end