class Stardust::GraphQL::Union
Public Class Methods
possible_type(type, klass)
click to toggle source
# File lib/stardust/graphql/union.rb, line 6 def self.possible_type(type, klass) @__possible_types__ ||= {} @__possible_types__[type] = klass end
replace_types!()
click to toggle source
# File lib/stardust/graphql/union.rb, line 11 def self.replace_types! return unless @__possible_types__ @__possible_types__ = @__possible_types__.reduce({}) do |accu, (type, klass)| lu_type = Collector.lookup_type(type) accu[lu_type] = klass accu end self.send(:possible_types, *@__possible_types__.keys) end
resolve_type(obj, ctx)
click to toggle source
# File lib/stardust/graphql/union.rb, line 21 def self.resolve_type(obj, ctx) @__possible_types__.invert[obj.class] end