Skip to content

Instantly share code, notes, and snippets.

@joshed-io
Created August 25, 2010 07:22
Show Gist options
  • Select an option

  • Save joshed-io/549025 to your computer and use it in GitHub Desktop.

Select an option

Save joshed-io/549025 to your computer and use it in GitHub Desktop.
class VersionParentObserver < ActiveRecord::Observer
observe MyModel, MyOtherModel
[:create, :update, :destroy].each do |action|
define_method("after_#{action}") do |record|
increment_version_for_observed(record, action)
end
end
private
def increment_version_for_observed(record, action)
unless record.skip_observation_on.include?(action)
record.observed_parents_to_version.each do |parent|
parent.increment_version!(record.observers_column) unless parent.new_record?
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment