Class: Primalize::Single::Enum

Inherits:
Object
  • Object
show all
Includes:
Type
Defined in:
lib/primalize/single.rb

Constant Summary

Constants included from Type

Type::DEFAULT_COERCION

Instance Method Summary collapse

Constructor Details

#initialize(values, &coercion) ⇒ Enum

Returns a new instance of Enum.



250
251
252
253
# File 'lib/primalize/single.rb', line 250

def initialize values, &coercion
  @values = values
  @coercion = coercion
end

Instance Method Details

#===(value) ⇒ Object



255
256
257
# File 'lib/primalize/single.rb', line 255

def === value
  @values.include? value
end

#coerce(value) ⇒ Object



259
260
261
# File 'lib/primalize/single.rb', line 259

def coerce value
  super value, @values
end

#inspectObject



263
264
265
# File 'lib/primalize/single.rb', line 263

def inspect
  "enum(#{@values.map(&:inspect).join(', ')})"
end