Class: LooseForeignKeys::CleanerService
- Inherits:
-
Object
- Object
- LooseForeignKeys::CleanerService
- Defined in:
- app/services/loose_foreign_keys/cleaner_service.rb
Overview
rubocop: disable CodeReuse/ActiveRecord
Constant Summary collapse
- DELETE_LIMIT =
1000
- UPDATE_LIMIT =
500
Instance Method Summary collapse
- #async_delete? ⇒ Boolean
- #async_nullify? ⇒ Boolean
- #execute ⇒ Object
-
#initialize(loose_foreign_key_definition:, connection:, deleted_parent_records:, with_skip_locked: false) ⇒ CleanerService
constructor
A new instance of CleanerService.
Constructor Details
#initialize(loose_foreign_key_definition:, connection:, deleted_parent_records:, with_skip_locked: false) ⇒ CleanerService
Returns a new instance of CleanerService.
9 10 11 12 13 14 |
# File 'app/services/loose_foreign_keys/cleaner_service.rb', line 9 def initialize(loose_foreign_key_definition:, connection:, deleted_parent_records:, with_skip_locked: false) @loose_foreign_key_definition = loose_foreign_key_definition @connection = connection @deleted_parent_records = deleted_parent_records @with_skip_locked = with_skip_locked end |
Instance Method Details
#async_delete? ⇒ Boolean
22 23 24 |
# File 'app/services/loose_foreign_keys/cleaner_service.rb', line 22 def async_delete? loose_foreign_key_definition.on_delete == :async_delete end |
#async_nullify? ⇒ Boolean
26 27 28 |
# File 'app/services/loose_foreign_keys/cleaner_service.rb', line 26 def async_nullify? loose_foreign_key_definition.on_delete == :async_nullify end |
#execute ⇒ Object
16 17 18 19 20 |
# File 'app/services/loose_foreign_keys/cleaner_service.rb', line 16 def execute result = connection.execute(build_query) { affected_rows: result.cmd_tuples, table: loose_foreign_key_definition.from_table } end |