Sha256: 74a1daacdf6111a6478a57ae32da5be3c41643230579d02a5a18bb0619162d9e
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
module GraphitiGraphQL module GraphitiSchema class Wrapper attr_reader :schema def initialize(schema) @schema = schema end def get_resource(name) config = schema[:resources].find { |r| r[:name] == name } raise "Could not find resource #{name} in schema" unless config Resource.new(self, schema[:resources].find { |r| r[:name] == name }) end def resources schema[:resources].map { |r| get_resource(r[:name]) } end # TODO some work here, dupes, refer back, etc def merge_remotes! resources.select(&:remote?).each do |resource| remote_schema = resource.fetch_remote_schema! remote_schema[:resources].each do |remote_config| unless resources.map(&:name).include?(remote_config[:name]) remote_config[:name] = resource.name schema[:resources].reject! { |r| r[:name] == resource.name } schema[:resources] << remote_config schema end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphiti_graphql-0.1.1 | lib/graphiti_graphql/graphiti_schema/wrapper.rb |
graphiti_graphql-0.1.0 | lib/graphiti_graphql/graphiti_schema/wrapper.rb |