Module: Cms::Behaviors::Versioning

Defined in:
lib/cms/behaviors/versioning.rb

Overview

This behavior adds Versioning to an ActiveRecord object. It seriously monkeys with how objects are saved or updated.

This implementation is pretty tied to Rails 3 ActiveRecord. Here's how I understand it works: ActiveRecord alias chain- Here is the order that methods get called.

save save_with_transactions save_with_dirty save_with_validations AR::Base#save (save_without_validations) AR::Base#create_or_update_with_callbacks

AR::Base - Defines a 'save' method with no params AR::Validations - alias save to a save_with_validations (which takes params) ActiveRecord Object has:

  • save_with_validations(options)
  • save_without_validation() - (Original save)

Defined Under Namespace

Modules: ClassMethods, InstanceMethods, MacroMethods