Class: Virtus::Group::AttributeTracker

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/virtus/group/attribute_tracker.rb

Instance Method Summary collapse

Constructor Details

#initialize(clazz, &block) ⇒ AttributeTracker

Returns a new instance of AttributeTracker.



8
9
10
11
# File 'lib/virtus/group/attribute_tracker.rb', line 8

def initialize(clazz, &block)
  super(clazz)
  instance_eval(&block)
end

Instance Method Details

#attribute(*args) ⇒ Object



13
14
15
16
# File 'lib/virtus/group/attribute_tracker.rb', line 13

def attribute(*args)
  tracked_attributes << args.first.to_sym
  super
end

#tracked_attributesObject



18
19
20
# File 'lib/virtus/group/attribute_tracker.rb', line 18

def tracked_attributes
  @tracked_attributes ||= []
end