Module: ArchivalRecordCore::ArchivalRecordActiveRecordMethods::ARRelationMethods

Defined in:
lib/archival_record_core/archival_record_active_record_methods.rb

Instance Method Summary collapse

Instance Method Details

#archive_all!Object

Raises:

  • (NotImplementedError)


26
27
28
29
30
31
32
# File 'lib/archival_record_core/archival_record_active_record_methods.rb', line 26

def archive_all!
  error_message = "The #{klass} must implement 'act_on_archivals' in order to call `archive_all!`"
  raise(NotImplementedError, error_message) unless archival?

  head_archive_number = Digest::MD5.hexdigest("#{klass}#{Time.now.utc.to_i}")
  each { |record| record.archive!(head_archive_number) }.tap { reset }
end

#unarchive_all!Object

Raises:

  • (NotImplementedError)


34
35
36
37
38
39
# File 'lib/archival_record_core/archival_record_active_record_methods.rb', line 34

def unarchive_all!
  error_message = "The #{klass} must implement 'act_on_archivals' in order to call `unarchive_all!`"
  raise(NotImplementedError, error_message) unless archival?

  each(&:unarchive!).tap { reset }
end