class ActiverecordHoarder::BatchArchiver

Public Class Methods

new(model_class, storage = nil) click to toggle source
# File lib/activerecord_hoarder/batch_archiver.rb, line 2
def initialize(model_class, storage = nil)
  @record_collector = ::ActiverecordHoarder::RecordCollector.new(model_class)
  @archive_storage = storage || default_storage_for_records(model_class.table_name)
end

Public Instance Methods

archive_batch() click to toggle source
# File lib/activerecord_hoarder/batch_archiver.rb, line 7
def archive_batch
  @record_collector.in_batches(delete_on_success: true) do |batch|
    success = @archive_storage.store_data(batch)
    return if !success
  end
end
default_storage_for_records(table_name) click to toggle source
# File lib/activerecord_hoarder/batch_archiver.rb, line 14
def default_storage_for_records(table_name)
  ::ActiverecordHoarder::Storage.new(table_name)
end