Module: HQ::GraphQL::Resource::ClassMethods
- Defined in:
- lib/hq/graphql/resource.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #find_record(attrs, context) ⇒ Object
- #input_klass ⇒ Object
- #model_klass ⇒ Object
- #mutation_klasses ⇒ Object
- #query_klass ⇒ Object
Instance Attribute Details
#graphql_name ⇒ Object
22 23 24 |
# File 'lib/hq/graphql/resource.rb', line 22 def graphql_name @graphql_name || model_name.demodulize end |
#model_name ⇒ Object
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_klass ⇒ Object
38 39 40 |
# File 'lib/hq/graphql/resource.rb', line 38 def input_klass @input_klass ||= build_input_object end |
#model_klass ⇒ Object
30 31 32 |
# File 'lib/hq/graphql/resource.rb', line 30 def model_klass @model_klass ||= model_name&.safe_constantize end |
#mutation_klasses ⇒ Object
34 35 36 |
# File 'lib/hq/graphql/resource.rb', line 34 def mutation_klasses @mutation_klasses ||= {}.with_indifferent_access end |
#query_klass ⇒ Object
42 43 44 |
# File 'lib/hq/graphql/resource.rb', line 42 def query_klass @query_klass ||= build_graphql_object end |