module OnChange::ClassMethods

Public Instance Methods

on_change(*args, &block) click to toggle source
# File lib/on_change.rb, line 32
def on_change(*args, &block)
  subscribe_attribute_changes(*args, &block)
end
on_change_callbacks() click to toggle source
# File lib/on_change.rb, line 21
def on_change_callbacks
  @on_change_callbacks ||= {}
end
subscribe_attribute_changes(*args, &block) click to toggle source
# File lib/on_change.rb, line 24
def subscribe_attribute_changes(*args, &block)
  callback = block_given? ? block : args.pop
  args.each do |attr|
    on_change_callbacks[attr.to_s] ||= []
    on_change_callbacks[attr.to_s] << callback
  end

end