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