Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions lib/version_fu/version_fu.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def version_fu(options={}, &block)

# Setup versions association
class_eval do
has_many :versions, :class_name => "#{self.to_s}::#{versioned_class_name}",
has_many :versions, :class_name => "#{self.to_s}#{versioned_class_name}",
:foreign_key => versioned_foreign_key,
:dependent => :destroy do
def latest
Expand All @@ -27,6 +27,7 @@ def latest
end

before_save :check_for_new_version

end

# Versioned Model
Expand Down Expand Up @@ -90,6 +91,7 @@ def check_for_new_version
true # Never halt save
end


# This the method to override if you want to have more control over when to version
def create_new_version?
# Any versioned column changed?
Expand All @@ -101,7 +103,7 @@ def instantiate_revision
versioned_columns.each do |attribute|
new_version.__send__ "#{attribute}=", __send__(attribute)
end
version_number = new_record? ? 1 : version + 1
version_number = new_record? ? 1 : version.to_i + 1
new_version.version = version_number
self.version = version_number
end
Expand Down