soft_deletion 1.6.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: 5ca056615af191c4edb5663f3b1c56067930777172ec9a02fe2b58180b7319ae
4
- data.tar.gz: 214ea720e110dbde3fe8bd0e86c9a3a970abd48ae1e0001b339b8fbf2a06e408
3
+ metadata.gz: 44ac482ab1a340cb83ad7befa59d3dea2f5dbb4b885b33430f8c15358e6c15ba
4
+ data.tar.gz: 5da6e4c535f801c1e74f64e04bf3c49d35afe11accebd1e35539ee8b29cb61bf
5
5
  SHA512:
6
- metadata.gz: 0152d17ffb4687a319e95de937f0205baf0fd310af7eb42d881f38654d64217b1fb6fd82c4a5a6b4b9a5a6c84c0e0d7f96bf1aae85d7d71385459ed40f63fc12
7
- data.tar.gz: f1f871ef34ce9f46819ee2c02ca3333a8525d0ac90678fb7dd8069458b146e1a64bda07a43ce9b4cf537c7dbf21e86a443dea3bed263f86bde335d0f1060ff8a
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.6.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.6.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-27 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
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.2.0
19
+ version: 5.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 6.2.0
22
+ version: '7.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.2.0
29
+ version: 5.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.2.0
32
+ version: '7.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -128,7 +128,7 @@ dependencies:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
- description:
131
+ description:
132
132
  email: michael@grosser.it
133
133
  executables: []
134
134
  extensions: []
@@ -144,7 +144,7 @@ homepage: https://github.com/grosser/soft_deletion
144
144
  licenses:
145
145
  - MIT
146
146
  metadata: {}
147
- post_install_message:
147
+ post_install_message:
148
148
  rdoc_options: []
149
149
  require_paths:
150
150
  - lib
@@ -152,15 +152,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - ">="
154
154
  - !ruby/object:Gem::Version
155
- version: 2.5.0
155
+ version: 2.7.0
156
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  requirements: []
162
- rubygems_version: 3.1.3
163
- signing_key:
162
+ rubygems_version: 3.3.3
163
+ signing_key:
164
164
  specification_version: 4
165
165
  summary: Explicit soft deletion for ActiveRecord via deleted_at and default scope.
166
166
  test_files: []