Module: Gluttonberg::Content::Versioning::OverrideActsAsVersioned

Defined in:
lib/gluttonberg/content/versioning.rb

Instance Method Summary collapse

Instance Method Details

#clear_old_versionsObject

Clears old revisions if a limit is set with the :limit option in acts_as_versioned. Override this method to set your own criteria for clearing old versions.



41
42
43
44
45
46
47
48
# File 'lib/gluttonberg/content/versioning.rb', line 41

def clear_old_versions
  update_from_gb_versioning_settings
  return if self.class.max_version_limit == 0
  excess_baggage = send(self.class.version_column).to_i - self.class.max_version_limit
  if excess_baggage > 0
    self.class.versioned_class.delete_all ["#{self.class.version_column} <= ? and #{self.class.versioned_foreign_key} = ?", excess_baggage, id]
  end
end

#update_from_gb_versioning_settingsObject



50
51
52
53
54
55
# File 'lib/gluttonberg/content/versioning.rb', line 50

def update_from_gb_versioning_settings
  if self.class.max_version_limit == 0
   tmp_number_of_revisions = Gluttonberg::Setting.get_setting("number_of_revisions")
   self.class.max_version_limit = tmp_number_of_revisions.to_i unless tmp_number_of_revisions.blank?
  end
end