Module: RubyEnum::ActiveRecord::AttrEnum::ClassMethods

Defined in:
lib/ruby_enum/active_record.rb

Instance Method Summary collapse

Instance Method Details

#_define_attr_setter_for(name) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/ruby_enum/active_record.rb', line 46

def _define_attr_setter_for(name)
  define_method "#{name}=" do |new_value|
    if new_value.present?
      super(new_value.value)
    end
  end
end

#attr_enum(name, opts = {}) ⇒ Object



10
11
12
13
14
# File 'lib/ruby_enum/active_record.rb', line 10

def attr_enum(name, opts = {})
  _create_attr_descriptor_for(name, opts)
  _define_attr_getter_for name
  _define_attr_setter_for name
end

#attr_enumsObject



16
17
18
# File 'lib/ruby_enum/active_record.rb', line 16

def attr_enums
  @_attr_enums ||= {}
end