Method: ExpectedBehavior::ActsAsArchival::InstanceMethods#archive!

Defined in:
lib/expected_behavior/acts_as_archival.rb

#archive!(head_archive_number = nil) ⇒ Object



105
106
107
108
109
110
111
112
113
114
115
# File 'lib/expected_behavior/acts_as_archival.rb', line 105

def archive!(head_archive_number = nil)
  execute_archival_action(:archive) do
    unless archived?
      head_archive_number ||= Digest::MD5.hexdigest("#{self.class.name}#{id}")
      archive_associations(head_archive_number)
      self.archived_at = DateTime.now
      self.archive_number = head_archive_number
      save!
    end
  end
end