Module: ActiveEnum::ActsAsEnum::MacroMethods

Defined in:
lib/active_enum/acts_as_enum.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_enum(options = {}) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/active_enum/acts_as_enum.rb', line 6

def acts_as_enum(options={})
  extend ClassMethods
  class_attribute :active_enum_options
  self.active_enum_options = options.reverse_merge(:name_column => 'name')
  scope :enum_values, proc { select(Arel.sql("#{primary_key}, #{active_enum_options[:name_column]}")).
                             where(active_enum_options[:conditions]).
                             order(Arel.sql("#{primary_key} #{active_enum_options[:order]}")) }
end