soft_deletion 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 342e24b23f9863a33d4173604c04f9081af9bd8ee2a6a6c5a8c6a18b22978a32
4
- data.tar.gz: 172a77e30419409c4c5e915cb82167d2e3d30f3af5875c52aa6a3176b5bb8301
3
+ metadata.gz: 44ac482ab1a340cb83ad7befa59d3dea2f5dbb4b885b33430f8c15358e6c15ba
4
+ data.tar.gz: 5da6e4c535f801c1e74f64e04bf3c49d35afe11accebd1e35539ee8b29cb61bf
5
5
  SHA512:
6
- metadata.gz: 118dfbaf85fb16dd867d98a1fc9ce1c61d9b884785fbaa9ad7ce593aac5f92e518c25b84d7e88c4c8ff9c9b2afa80e13d79c7bf28702427b841b20f7d52774b1
7
- data.tar.gz: a28c6e5756ec3a1f329001140ee5da30de5a304e648ee1b4c9fe244257383ce12ef2fe4b90fef0807ed62e953f762a731b7260e265d38ce0899ac4523c961c3a
6
+ metadata.gz: 796131148c73d9e07411797cff502315fcff73fa5fc35f30c39c158419b35f6f744950c06053d52c4b224f695d858f381c9b09dcad6467d179496d2d0f98b253
7
+ data.tar.gz: 3939b72e5a2a94c5ccae64ccb32b115f32986f0d169fbdd772c6bed3daf208d423330ae3759b7a9572f48c09ec836ac8d3933c3d4bd3f4729c7aa2ebd8ba94e2
@@ -45,7 +45,7 @@ module SoftDeletion
45
45
  where(:id => ids).update_all(mark_as_soft_deleted_sql)
46
46
 
47
47
  models.each do |model|
48
- model.soft_delete_dependencies.each { |dep| dep.execute_soft_delete(:soft_delete!, []) }
48
+ model.soft_delete_dependencies.each { |dep| dep.execute_soft_delete(:soft_delete!) }
49
49
  model.run_callbacks :soft_delete
50
50
  end
51
51
  end
@@ -64,12 +64,12 @@ module SoftDeletion
64
64
  self.deleted_at = nil
65
65
  end
66
66
 
67
- def soft_delete!(*args)
68
- _run_soft_delete(:soft_delete!, args) { save!(*args) } || soft_delete_hook_failed(:before_soft_delete)
67
+ def soft_delete!(*args, **kwargs)
68
+ _run_soft_delete(:soft_delete!, *args, **kwargs) { save!(*args, **kwargs) } || soft_delete_hook_failed(:before_soft_delete)
69
69
  end
70
70
 
71
- def soft_delete(*args)
72
- _run_soft_delete(:soft_delete, args) { save(*args) }
71
+ def soft_delete(*args, **kwargs)
72
+ _run_soft_delete(:soft_delete, *args, **kwargs) { save(*args, **kwargs) }
73
73
  end
74
74
 
75
75
  def soft_undelete
@@ -96,12 +96,12 @@ module SoftDeletion
96
96
  end
97
97
  end
98
98
 
99
- def _run_soft_delete(method, args, &block)
99
+ def _run_soft_delete(method, *args, **kwargs, &block)
100
100
  result = false
101
101
  self.class.transaction do
102
102
  internal = lambda do
103
103
  mark_as_deleted
104
- raise ActiveRecord::Rollback unless soft_delete_dependencies.all? { |dep| dep.execute_soft_delete(method, args) }
104
+ raise ActiveRecord::Rollback unless soft_delete_dependencies.all? { |dep| dep.execute_soft_delete(method, *args, **kwargs) }
105
105
  result = block.call
106
106
  raise ActiveRecord::Rollback unless result
107
107
  update_soft_delete_counter_caches(-1)
@@ -7,7 +7,7 @@ module SoftDeletion
7
7
  @association_name = association_name
8
8
  end
9
9
 
10
- def execute_soft_delete(method, args)
10
+ def execute_soft_delete(method, ...)
11
11
  case association.options[:dependent]
12
12
  when :nullify
13
13
  dependency.update_all(association.foreign_key => nil)
@@ -15,7 +15,7 @@ module SoftDeletion
15
15
  dependency.update_all(dependency.mark_as_soft_deleted_sql)
16
16
  true
17
17
  else
18
- dependencies.all? { |dep| dep.send(method, *args) }
18
+ dependencies.all? { |dep| dep.send(method, ...) }
19
19
  end
20
20
  end
21
21
 
@@ -1,3 +1,3 @@
1
1
  module SoftDeletion
2
- VERSION = '1.7.0'
2
+ VERSION = '1.8.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soft_deletion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-09 00:00:00.000000000 Z
11
+ date: 2023-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord