Sha256: 19b618311bcd4b61a635cdb0c00dfe02d19e083c244ff580020936f6cc541c4b
Contents?: true
Size: 1.29 KB
Versions: 3
Compression:
Stored size: 1.29 KB
Contents
module GraphitiGql class Schema class Query def initialize(resources, existing_query: nil) @resources = resources @query_class = Class.new(existing_query || Schema.base_object) @query_class.graphql_name "Query" end def build @resources.each { |resource| ResourceType.new(resource).build } define_entrypoints add_value_objects add_relationships @query_class end private def registry Registry.instance end def define_entrypoints registry.resource_types.each do |registered| if registered[:resource].graphql_entrypoint Fields::Index.new(registered).apply(@query_class) Fields::Show.new(registered).apply(@query_class) end end end def add_relationships registry.resource_types.each do |registered| resource, type = registered[:resource], registered[:type] ResourceType.add_relationships(resource, type) end end def add_value_objects registry.resource_types(value_objects: false).each do |registered| resource, type = registered[:resource], registered[:type] ResourceType.add_value_objects(resource, type) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
graphiti_gql-0.2.34 | lib/graphiti_gql/schema/query.rb |
graphiti_gql-0.2.33 | lib/graphiti_gql/schema/query.rb |
graphiti_gql-0.2.32 | lib/graphiti_gql/schema/query.rb |