Module: ActiveEnum::MixIn

Defined in:
lib/sga_enum.rb

Instance Method Summary collapse

Instance Method Details

#enum_attr(attr, enums, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/sga_enum.rb', line 3

def enum_attr attr, enums, options={}
  attr = attr.to_s
  self.class_eval "    ENUMS_\#{attr.upcase} = enums\n    options.merge! :in => enums.map{|e| e[1]}\n    validates_inclusion_of attr, options\n    def \#{attr}_name\n      ENUMS_\#{attr.upcase}.find{|op| op[1] == \#{attr}}[0] unless \#{attr}.nil?\n    end\n  EOF\nend\n"