Class: HQ::GraphQL::RootQuery
- Defined in:
- lib/hq/graphql/root_query.rb
Constant Summary
Constants included from Scalars
Scalars::Object, Scalars::UUID
Class Method Summary collapse
Methods inherited from Object
Methods included from ActiveRecordExtensions
Class Method Details
.inherited(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/hq/graphql/root_query.rb', line 5 def self.inherited(base) super base.class_eval do lazy_load do ::HQ::GraphQL.root_queries.each do |graphql| klass = graphql.model_klass field_name = klass.name.demodulize.underscore primary_key = klass.primary_key pk_column = klass.columns.detect { |c| c.name == primary_key.to_s } field field_name, graphql.query_klass, null: true do argument primary_key, ::HQ::GraphQL::Types.type_from_column(pk_column), required: true end define_method(field_name) do |**attrs| graphql.find_record(attrs, context) end end end end end |