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