Class: AvroGen::SchemaClass::Enum

Inherits:
Base
  • Object
show all
Defined in:
lib/avro_gen/schema_class/enum.rb

Overview

Base Class for Enum Classes generated from Avro.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#[]=, #inspect

Constructor Details

#initialize(value) ⇒ Enum

Returns a new instance of Enum.

Parameters:

  • value (String)


25
26
27
# File 'lib/avro_gen/schema_class/enum.rb', line 25

def initialize(value)
  @value = value
end

Instance Attribute Details

#valueString

Returns:

  • (String)


11
12
13
# File 'lib/avro_gen/schema_class/enum.rb', line 11

def value
  @value
end

Class Method Details

.initialize_from_value(value, from_message: false) ⇒ SchemaClass::Enum

Returns:



41
42
43
44
45
# File 'lib/avro_gen/schema_class/enum.rb', line 41

def self.initialize_from_value(value, from_message: false)
  return nil if value.nil?

  value.is_a?(self) ? value : self.new(value)
end

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


15
16
17
# File 'lib/avro_gen/schema_class/enum.rb', line 15

def ==(other)
  other.is_a?(self.class) ? other.value == @value : other == @value
end

#as_json(_opts = {}) ⇒ String

Returns:

  • (String)


36
37
38
# File 'lib/avro_gen/schema_class/enum.rb', line 36

def as_json(_opts={})
  @value
end

#symbolsArray<String>

Returns all the valid symbols for this enum.

Returns:

  • (Array<String>)

Raises:



31
32
33
# File 'lib/avro_gen/schema_class/enum.rb', line 31

def symbols
  raise MissingImplementationError
end

#to_sString

Returns:

  • (String)


20
21
22
# File 'lib/avro_gen/schema_class/enum.rb', line 20

def to_s
  @value.to_s
end