Class: EnumeratedType

Inherits:
Object show all
Defined in:
lib/mega/enumerated_type.rb

Overview

:title: EnumeratedType

EnumeratedType lets you create enumerated types like this:

class OutputType < EnumeratedType
  AUTODETECT
  UNKNOWN
  NOSOUND
  WAVWRITER
  DSOUND
  WINMM
  ASIO
  OSS
  ALSA
  ESD
  SOUNDMANAGER
  COREAUDIO
  XBOX
  PS2
  GC
  XBOX360
  PSP
end

If you want to start with a different integer than 0, you can just do:

class OutputType < EnumeratedType
  start 15
  AUTODETECT
  ...
end

You can also use start anywhere in the list, to have subsequent constants enumerated starting with the given value.

Author(s)

  • James Buck

Class Method Summary collapse

Class Method Details

.const_missing(sym) ⇒ Object



69
70
71
72
73
# File 'lib/mega/enumerated_type.rb', line 69

def const_missing(sym)
  @next_value ||= 0
  const_set(sym, @next_value)
  @next_value += 1
end

.start(n) ⇒ Object



65
66
67
# File 'lib/mega/enumerated_type.rb', line 65

def start(n)
  @next_value = n
end