16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/acts_as_versionable.rb', line 16
def acts_as_versionable(options = {})
cattr_accessor :max_versions
self.max_versions = (options[:max_versions] || 10)
after_save :create_new_version
before_validation :versionable_validation
has_many :internal_versions,
:class_name => self.name,
:foreign_key => "version_id",
:order => "version_number desc",
:dependent => :destroy
belongs_to :parent_version, :class_name => self.name, :foreign_key => "version_id"
scope :last_versions, where(:version_id => nil)
scope :get_versionable, lambda { |id, version| where(:version_id => id, :version_number => version) }
include InstanceMethods
end
|