Class: DBPurger::PurgeTableScanner
- Inherits:
-
Object
- Object
- DBPurger::PurgeTableScanner
- Includes:
- PurgeTableHelper
- Defined in:
- lib/db-purger/purge_table_scanner.rb
Overview
DBPurger::PurgeTableScanner scans the entire table in batches use the search_proc to determine what ids to delete
Instance Method Summary collapse
-
#initialize(database, table) ⇒ PurgeTableScanner
constructor
A new instance of PurgeTableScanner.
- #model ⇒ Object
- #purge! ⇒ Object
Constructor Details
#initialize(database, table) ⇒ PurgeTableScanner
Returns a new instance of PurgeTableScanner.
8 9 10 11 12 |
# File 'lib/db-purger/purge_table_scanner.rb', line 8 def initialize(database, table) @database = database @table = table @num_deleted = 0 end |
Instance Method Details
#model ⇒ Object
14 15 16 |
# File 'lib/db-purger/purge_table_scanner.rb', line 14 def model @model ||= @database.models.detect { |m| m.table_name == @table.name.to_s } end |
#purge! ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/db-purger/purge_table_scanner.rb', line 18 def purge! ActiveSupport::Notifications.instrument('purge.db_purger', table_name: @table.name) do |payload| purge_in_batches! purge_search_tables payload[:deleted] = @num_deleted end @num_deleted end |