Class: GraphWeaver::Codegen::EnumNode

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, values) ⇒ EnumNode

Returns a new instance of EnumNode.



158
159
160
161
# File 'lib/graph_weaver/codegen.rb', line 158

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

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



156
157
158
# File 'lib/graph_weaver/codegen.rb', line 156

def class_name
  @class_name
end

#valuesObject (readonly)

Returns the value of attribute values.



156
157
158
# File 'lib/graph_weaver/codegen.rb', line 156

def values
  @values
end

Instance Method Details

#bare_typeObject



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

def bare_type = class_name

#cast(expr, _depth) ⇒ Object



169
170
171
# File 'lib/graph_weaver/codegen.rb', line 169

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

#identity?Boolean

Returns:

  • (Boolean)


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

def identity? = false

#nestedObject



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

def nested = self

#non_null?Boolean

Returns:

  • (Boolean)


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

def non_null? = false

#prop_typeObject



165
166
167
# File 'lib/graph_weaver/codegen.rb', line 165

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

#serialize(expr, _depth) ⇒ Object



175
176
177
# File 'lib/graph_weaver/codegen.rb', line 175

def serialize(expr, _depth)
  "#{expr}.serialize"
end

#serialize_identity?Boolean

Returns:

  • (Boolean)


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

def serialize_identity? = false