Class: GraphWeaver::Codegen::UnionNode

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(class_name, members) ⇒ UnionNode

Returns a new instance of UnionNode.



187
188
189
190
# File 'lib/graph_weaver/codegen.rb', line 187

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

Instance Attribute Details

#class_nameObject (readonly)

graphql type name => ObjectNode



185
186
187
# File 'lib/graph_weaver/codegen.rb', line 185

def class_name
  @class_name
end

#membersObject (readonly)

graphql type name => ObjectNode



185
186
187
# File 'lib/graph_weaver/codegen.rb', line 185

def members
  @members
end

Instance Method Details

#bare_typeObject



192
# File 'lib/graph_weaver/codegen.rb', line 192

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

#cast(expr, _depth) ⇒ Object



198
199
200
# File 'lib/graph_weaver/codegen.rb', line 198

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

#identity?Boolean

Returns:

  • (Boolean)


202
# File 'lib/graph_weaver/codegen.rb', line 202

def identity? = false

#nestedObject



204
# File 'lib/graph_weaver/codegen.rb', line 204

def nested = self

#non_null?Boolean

Returns:

  • (Boolean)


203
# File 'lib/graph_weaver/codegen.rb', line 203

def non_null? = false

#prop_typeObject



194
195
196
# File 'lib/graph_weaver/codegen.rb', line 194

def prop_type
  "T.nilable(#{bare_type})"
end