Class: GraphWeaver::Codegen::UnionNode

Inherits:
Node
  • Object
show all
Defined in:
lib/graph_weaver/codegen/nodes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Node

#coerce?, #hash_coerce_identity?, #identity?, #non_null?, #prop_type, #serialize_identity?

Constructor Details

#initialize(class_name, members) ⇒ UnionNode

Returns a new instance of UnionNode.



266
267
268
269
# File 'lib/graph_weaver/codegen/nodes.rb', line 266

def initialize(class_name, members)
  @class_name = class_name
  @members = members
end

Instance Attribute Details

#class_nameObject (readonly)

graphql type name => ObjectNode



264
265
266
# File 'lib/graph_weaver/codegen/nodes.rb', line 264

def class_name
  @class_name
end

#membersObject (readonly)

graphql type name => ObjectNode



264
265
266
# File 'lib/graph_weaver/codegen/nodes.rb', line 264

def members
  @members
end

Instance Method Details

#bare_typeObject



271
# File 'lib/graph_weaver/codegen/nodes.rb', line 271

def bare_type = "#{class_name}::Type"

#cast(expr, _depth) ⇒ Object



273
274
275
# File 'lib/graph_weaver/codegen/nodes.rb', line 273

def cast(expr, _depth)
  "#{class_name}.from_h(#{expr})"
end

#nestedObject



277
# File 'lib/graph_weaver/codegen/nodes.rb', line 277

def nested = self