Class: MetaEnum::MissingValue

Inherits:
Object
  • Object
show all
Defined in:
lib/meta_enum/missing_value.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number, type) ⇒ MissingValue

Returns a new instance of MissingValue.



5
6
7
8
9
# File 'lib/meta_enum/missing_value.rb', line 5

def initialize(number, type)
  @number = Integer(number)
  @type = type
  freeze
end

Instance Attribute Details

#numberObject (readonly)

Returns the value of attribute number.



3
4
5
# File 'lib/meta_enum/missing_value.rb', line 3

def number
  @number
end

#typeObject (readonly)

Returns the value of attribute type.



3
4
5
# File 'lib/meta_enum/missing_value.rb', line 3

def type
  @type
end

Instance Method Details

#==(other) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/meta_enum/missing_value.rb', line 14

def ==(other)
  other = type[other]
  number == other.number && type == other.type

# type[] will raise for certain bad keys. Those are obviously not equal so return false.
rescue ArgumentError, KeyError
  false
end

#dataObject



12
# File 'lib/meta_enum/missing_value.rb', line 12

def data; nil; end

#inspectObject



26
27
28
# File 'lib/meta_enum/missing_value.rb', line 26

def inspect
  "#<#{self.class}: #{number}}>"
end

#nameObject



11
# File 'lib/meta_enum/missing_value.rb', line 11

def name; :missing_value; end

#to_iObject



23
# File 'lib/meta_enum/missing_value.rb', line 23

def to_i; number; end

#to_sObject



24
# File 'lib/meta_enum/missing_value.rb', line 24

def to_s; name.to_s; end