Module: AttrAccessorWithDirtyBit

Included in:
XPlanner::Iteration, XPlanner::Person, XPlanner::Project, XPlanner::Story, XPlanner::Task
Defined in:
lib/config/attr_accessor_dirty_bit.rb

Instance Method Summary collapse

Instance Method Details

#dirty_accessor(*names) ⇒ Object



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

def dirty_accessor( *names )
  attr_reader *names

  names.each do |name|
    define_method :"#{name}=" do |v|
      if instance_variable_get(:"@#{name}") != v
        @dirty_bit = true 
        instance_variable_set(:"@#{name}", v)
      end
    end
  end
end