Class: ActiveEnum::Configuration

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

Instance Method Summary collapse

Instance Method Details

#enum(name, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/active_enum.rb', line 14

def enum(name, &block)
  class_name = name.to_s.camelize
  class_def = <<-end_eval
    class #{class_name} < ActiveEnum::Base
    end
  end_eval
  eval(class_def, TOPLEVEL_BINDING)
  new_enum = Module.const_get(class_name)
  new_enum.class_eval(&block)
end