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