Class: ActiveRecord::Base::ExtendAttribute
- Inherits:
-
Object
- Object
- ActiveRecord::Base::ExtendAttribute
- Defined in:
- lib/extended_attributes.rb
Instance Method Summary collapse
- #after_initialize(record) ⇒ Object (also: #after_find)
-
#initialize(attr, options = {}, block = nil) ⇒ ExtendAttribute
constructor
A new instance of ExtendAttribute.
Constructor Details
#initialize(attr, options = {}, block = nil) ⇒ ExtendAttribute
Returns a new instance of ExtendAttribute.
15 16 17 18 19 |
# File 'lib/extended_attributes.rb', line 15 def initialize(attr, = {}, block = nil) @attr = attr = @block = block end |
Instance Method Details
#after_initialize(record) ⇒ Object Also known as: after_find
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/extended_attributes.rb', line 21 def after_initialize(record) modules = [*[:extend]].compact modules << Module.new(&@block) if @block modules.each do |mod| attribute = record.send(@attr) unless attribute.is_a? Fixnum attribute.extend mod else Fixnum.send(:include, mod) end end end |