bulk_dependency_eraser 1.0.4 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bulk_dependency_eraser/builder.rb +8 -6
- data/lib/bulk_dependency_eraser/version.rb +3 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc49b9b507510ed728ba6434832c29c44d76fe144ee4b738a7f5ade224caf0d2
|
4
|
+
data.tar.gz: 3437d5c44ca6ae2aaaf6d5e283da42d7267e5df2f378ef7abf7a72b63662cc5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f15ccf36462a1fa821843dd5b05144e078be9a624620b297c02b0bb9e4252b997c0db56ae7546962163559a4f141eeaa2c3be571e1edafb5faa41cb1c83c563
|
7
|
+
data.tar.gz: 6a72116ef8842358a7de07f461cae3a3fbb2b6bfce2a0b725dd373534480a84fd69e81c18838178bea8d65788039671244c76df2d1669bc470687354929c130d
|
@@ -48,7 +48,8 @@ module BulkDependencyEraser
|
|
48
48
|
'ActiveRecord::Reflection::HasAndBelongsToManyReflection'
|
49
49
|
].freeze
|
50
50
|
|
51
|
-
|
51
|
+
# write access so that these can be edited in-place by end-users who might need to manually adjust deletion order.
|
52
|
+
attr_accessor :deletion_list, :nullification_list
|
52
53
|
attr_reader :ignore_table_deletion_list, :ignore_table_nullification_list
|
53
54
|
|
54
55
|
def initialize query:, opts: {}
|
@@ -260,7 +261,7 @@ module BulkDependencyEraser
|
|
260
261
|
when 'ActiveRecord::Reflection::HasManyReflection'
|
261
262
|
association_parser_has_many(parent_class, query, query_ids, association_name, type)
|
262
263
|
when 'ActiveRecord::Reflection::HasOneReflection'
|
263
|
-
association_parser_has_many(parent_class, query, query_ids, association_name, type
|
264
|
+
association_parser_has_many(parent_class, query, query_ids, association_name, type)
|
264
265
|
when 'ActiveRecord::Reflection::BelongsToReflection'
|
265
266
|
if type == :nullify
|
266
267
|
report_error("#{parent_class.name}'s association '#{association_name}' - dependent 'nullify' invalid for 'belongs_to'")
|
@@ -347,10 +348,11 @@ module BulkDependencyEraser
|
|
347
348
|
assoc_query = assoc_query.where(specified_foreign_key.to_sym => query_ids)
|
348
349
|
end
|
349
350
|
|
350
|
-
#
|
351
|
-
if
|
352
|
-
|
353
|
-
|
351
|
+
# Works in theory for ONE record's has_one, but we're dealing with potentially many
|
352
|
+
# # Apply limit if has_one assocation (subset of has_many)
|
353
|
+
# if opts[:limit]
|
354
|
+
# assoc_query = assoc_query.limit(opts[:limit])
|
355
|
+
# end
|
354
356
|
|
355
357
|
if type == :delete
|
356
358
|
# Recursively call 'deletion_query_parser' on association query, to delete any if the assoc's dependencies
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulk_dependency_eraser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- benjamin.dana.software.dev@gmail.com
|
@@ -148,6 +148,7 @@ files:
|
|
148
148
|
- lib/bulk_dependency_eraser/deleter.rb
|
149
149
|
- lib/bulk_dependency_eraser/manager.rb
|
150
150
|
- lib/bulk_dependency_eraser/nullifier.rb
|
151
|
+
- lib/bulk_dependency_eraser/version.rb
|
151
152
|
homepage: https://github.com/danabr75/bulk_dependency_eraser
|
152
153
|
licenses:
|
153
154
|
- LGPL-3.0-only
|