acts_as_paranoid 0.5.0 → 0.7.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.
@@ -1,14 +1,16 @@
1
- require 'test_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
2
4
 
3
5
  class InheritanceTest < ParanoidBaseTest
4
6
  def test_destroy_dependents_with_inheritance
5
7
  has_many_inherited_super_paranoidz = HasManyInheritedSuperParanoidz.new
6
8
  has_many_inherited_super_paranoidz.save
7
9
  has_many_inherited_super_paranoidz.super_paranoidz.create
8
- assert_nothing_raised(NoMethodError) { has_many_inherited_super_paranoidz.destroy }
10
+ assert_nothing_raised { has_many_inherited_super_paranoidz.destroy }
9
11
  end
10
12
 
11
13
  def test_class_instance_variables_are_inherited
12
- assert_nothing_raised(ActiveRecord::StatementInvalid) { InheritedParanoid.paranoid_column }
14
+ assert_nothing_raised { InheritedParanoid.paranoid_column }
13
15
  end
14
16
  end
@@ -1,20 +1,22 @@
1
- require 'test_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
2
4
 
3
5
  class RelationsTest < ParanoidBaseTest
4
6
  def setup
5
7
  setup_db
6
8
 
7
- @paranoid_forest_1 = ParanoidForest.create! :name => "ParanoidForest #1"
8
- @paranoid_forest_2 = ParanoidForest.create! :name => "ParanoidForest #2", :rainforest => true
9
- @paranoid_forest_3 = ParanoidForest.create! :name => "ParanoidForest #3", :rainforest => true
9
+ @paranoid_forest_1 = ParanoidForest.create! name: "ParanoidForest #1"
10
+ @paranoid_forest_2 = ParanoidForest.create! name: "ParanoidForest #2", rainforest: true
11
+ @paranoid_forest_3 = ParanoidForest.create! name: "ParanoidForest #3", rainforest: true
10
12
 
11
13
  assert_equal 3, ParanoidForest.count
12
14
  assert_equal 2, ParanoidForest.rainforest.count
13
15
 
14
- @paranoid_forest_1.paranoid_trees.create! :name => 'ParanoidTree #1'
15
- @paranoid_forest_1.paranoid_trees.create! :name => 'ParanoidTree #2'
16
- @paranoid_forest_2.paranoid_trees.create! :name => 'ParanoidTree #3'
17
- @paranoid_forest_2.paranoid_trees.create! :name => 'ParanoidTree #4'
16
+ @paranoid_forest_1.paranoid_trees.create! name: "ParanoidTree #1"
17
+ @paranoid_forest_1.paranoid_trees.create! name: "ParanoidTree #2"
18
+ @paranoid_forest_2.paranoid_trees.create! name: "ParanoidTree #3"
19
+ @paranoid_forest_2.paranoid_trees.create! name: "ParanoidTree #4"
18
20
 
19
21
  assert_equal 4, ParanoidTree.count
20
22
  end
@@ -82,36 +84,42 @@ class RelationsTest < ParanoidBaseTest
82
84
 
83
85
  # destroy_all: through a relation
84
86
  @paranoid_forest_2.paranoid_trees.order(:id).destroy_all
85
- assert_equal 0, @paranoid_forest_2.paranoid_trees(true).count
86
- assert_equal 2, @paranoid_forest_2.paranoid_trees(true).with_deleted.count
87
+ assert_equal 0, @paranoid_forest_2.paranoid_trees.count
88
+ assert_equal 2, @paranoid_forest_2.paranoid_trees.with_deleted.count
87
89
  end
88
90
 
89
- def test_real_removal_through_relation
90
- # destroy!: aliased to delete
91
+ def test_real_removal_through_relation_with_destroy_bang
92
+ # Relation.destroy!: aliased to delete
91
93
  ParanoidForest.rainforest.destroy!(@paranoid_forest_3)
92
94
  assert_equal 1, ParanoidForest.rainforest.count
93
95
  assert_equal 1, ParanoidForest.rainforest.with_deleted.count
94
96
  assert_equal 0, ParanoidForest.rainforest.only_deleted.count
97
+ end
95
98
 
99
+ def test_two_step_real_removal_through_relation_with_destroy
96
100
  # destroy: two-step through a relation
97
101
  paranoid_tree = @paranoid_forest_1.paranoid_trees.first
98
102
  @paranoid_forest_1.paranoid_trees.order(:id).destroy(paranoid_tree.id)
99
103
  @paranoid_forest_1.paranoid_trees.only_deleted.destroy(paranoid_tree.id)
100
- assert_equal 1, @paranoid_forest_1.paranoid_trees(true).count
101
- assert_equal 1, @paranoid_forest_1.paranoid_trees(true).with_deleted.count
102
- assert_equal 0, @paranoid_forest_1.paranoid_trees(true).only_deleted.count
104
+ assert_equal 1, @paranoid_forest_1.paranoid_trees.count
105
+ assert_equal 1, @paranoid_forest_1.paranoid_trees.with_deleted.count
106
+ assert_equal 0, @paranoid_forest_1.paranoid_trees.only_deleted.count
107
+ end
103
108
 
109
+ def test_two_step_real_removal_through_relation_with_destroy_all
104
110
  # destroy_all: two-step through a relation
105
111
  @paranoid_forest_1.paranoid_trees.order(:id).destroy_all
106
112
  @paranoid_forest_1.paranoid_trees.only_deleted.destroy_all
107
- assert_equal 0, @paranoid_forest_1.paranoid_trees(true).count
108
- assert_equal 0, @paranoid_forest_1.paranoid_trees(true).with_deleted.count
109
- assert_equal 0, @paranoid_forest_1.paranoid_trees(true).only_deleted.count
113
+ assert_equal 0, @paranoid_forest_1.paranoid_trees.count
114
+ assert_equal 0, @paranoid_forest_1.paranoid_trees.with_deleted.count
115
+ assert_equal 0, @paranoid_forest_1.paranoid_trees.only_deleted.count
116
+ end
110
117
 
118
+ def test_real_removal_through_relation_with_delete_all_bang
111
119
  # delete_all!: through a relation
112
120
  @paranoid_forest_2.paranoid_trees.order(:id).delete_all!
113
- assert_equal 0, @paranoid_forest_2.paranoid_trees(true).count
114
- assert_equal 0, @paranoid_forest_2.paranoid_trees(true).with_deleted.count
115
- assert_equal 0, @paranoid_forest_2.paranoid_trees(true).only_deleted.count
121
+ assert_equal 0, @paranoid_forest_2.paranoid_trees.count
122
+ assert_equal 0, @paranoid_forest_2.paranoid_trees.with_deleted.count
123
+ assert_equal 0, @paranoid_forest_2.paranoid_trees.only_deleted.count
116
124
  end
117
125
  end
@@ -1,8 +1,10 @@
1
- require 'test_helper'
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
2
4
 
3
5
  class ValidatesUniquenessTest < ParanoidBaseTest
4
6
  def test_should_include_deleted_by_default
5
- ParanoidTime.new(:name => 'paranoid').tap do |record|
7
+ ParanoidTime.new(name: "paranoid").tap do |record|
6
8
  assert !record.valid?
7
9
  ParanoidTime.first.destroy
8
10
  assert !record.valid?
@@ -12,7 +14,8 @@ class ValidatesUniquenessTest < ParanoidBaseTest
12
14
  end
13
15
 
14
16
  def test_should_validate_without_deleted
15
- ParanoidBoolean.new(:name => 'paranoid').tap do |record|
17
+ ParanoidBoolean.new(name: "paranoid").tap do |record|
18
+ refute record.valid?
16
19
  ParanoidBoolean.first.destroy
17
20
  assert record.valid?
18
21
  ParanoidBoolean.only_deleted.first.destroy!
@@ -21,8 +24,8 @@ class ValidatesUniquenessTest < ParanoidBaseTest
21
24
  end
22
25
 
23
26
  def test_models_with_scoped_validations_can_be_multiply_deleted
24
- model_a = ParanoidWithScopedValidation.create(:name => "Model A", :category => "Category A")
25
- model_b = ParanoidWithScopedValidation.create(:name => "Model B", :category => "Category B")
27
+ model_a = ParanoidWithScopedValidation.create(name: "Model A", category: "Category A")
28
+ model_b = ParanoidWithScopedValidation.create(name: "Model B", category: "Category B")
26
29
 
27
30
  ParanoidWithScopedValidation.delete([model_a.id, model_b.id])
28
31
 
@@ -31,8 +34,8 @@ class ValidatesUniquenessTest < ParanoidBaseTest
31
34
  end
32
35
 
33
36
  def test_models_with_scoped_validations_can_be_multiply_destroyed
34
- model_a = ParanoidWithScopedValidation.create(:name => "Model A", :category => "Category A")
35
- model_b = ParanoidWithScopedValidation.create(:name => "Model B", :category => "Category B")
37
+ model_a = ParanoidWithScopedValidation.create(name: "Model A", category: "Category A")
38
+ model_b = ParanoidWithScopedValidation.create(name: "Model B", category: "Category B")
36
39
 
37
40
  ParanoidWithScopedValidation.destroy([model_a.id, model_b.id])
38
41
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_paranoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Scott
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-08-09 00:00:00.000000000 Z
13
+ date: 2020-08-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -18,54 +18,94 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '4.0'
21
+ version: '5.2'
22
22
  - - "<"
23
23
  - !ruby/object:Gem::Version
24
- version: '5.1'
24
+ version: '7.0'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: '4.0'
31
+ version: '5.2'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
- version: '5.1'
34
+ version: '7.0'
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: activesupport
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '4.0'
41
+ version: '5.2'
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
- version: '5.1'
44
+ version: '7.0'
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - ">="
50
50
  - !ruby/object:Gem::Version
51
- version: '4.0'
51
+ version: '5.2'
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.1'
54
+ version: '7.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.5'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '3.0'
62
65
  type: :development
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
- - - "~>"
69
+ - - ">="
67
70
  - !ruby/object:Gem::Version
68
71
  version: '1.5'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: minitest
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '4.0'
82
+ - - "<="
83
+ - !ruby/object:Gem::Version
84
+ version: '6.0'
85
+ type: :development
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '4.0'
92
+ - - "<="
93
+ - !ruby/object:Gem::Version
94
+ version: '6.0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: pry
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
69
109
  - !ruby/object:Gem::Dependency
70
110
  name: rake
71
111
  requirement: !ruby/object:Gem::Requirement
@@ -95,25 +135,39 @@ dependencies:
95
135
  - !ruby/object:Gem::Version
96
136
  version: '0'
97
137
  - !ruby/object:Gem::Dependency
98
- name: minitest
138
+ name: rubocop
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: 0.89.1
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: 0.89.1
151
+ - !ruby/object:Gem::Dependency
152
+ name: simplecov
99
153
  requirement: !ruby/object:Gem::Requirement
100
154
  requirements:
101
155
  - - ">="
102
156
  - !ruby/object:Gem::Version
103
- version: '4.0'
104
- - - "<="
157
+ version: 0.18.1
158
+ - - "<"
105
159
  - !ruby/object:Gem::Version
106
- version: '6.0'
160
+ version: 0.20.0
107
161
  type: :development
108
162
  prerelease: false
109
163
  version_requirements: !ruby/object:Gem::Requirement
110
164
  requirements:
111
165
  - - ">="
112
166
  - !ruby/object:Gem::Version
113
- version: '4.0'
114
- - - "<="
167
+ version: 0.18.1
168
+ - - "<"
115
169
  - !ruby/object:Gem::Version
116
- version: '6.0'
170
+ version: 0.20.0
117
171
  description: Check the home page for more in-depth information.
118
172
  email:
119
173
  - e@zzak.io
@@ -121,12 +175,12 @@ executables: []
121
175
  extensions: []
122
176
  extra_rdoc_files: []
123
177
  files:
178
+ - CHANGELOG.md
124
179
  - LICENSE
125
180
  - README.md
126
181
  - lib/acts_as_paranoid.rb
127
182
  - lib/acts_as_paranoid/associations.rb
128
183
  - lib/acts_as_paranoid/core.rb
129
- - lib/acts_as_paranoid/preloader_association.rb
130
184
  - lib/acts_as_paranoid/relation.rb
131
185
  - lib/acts_as_paranoid/validations.rb
132
186
  - lib/acts_as_paranoid/version.rb
@@ -135,7 +189,6 @@ files:
135
189
  - test/test_default_scopes.rb
136
190
  - test/test_helper.rb
137
191
  - test/test_inheritance.rb
138
- - test/test_preloader_association.rb
139
192
  - test/test_relations.rb
140
193
  - test/test_validations.rb
141
194
  homepage: https://github.com/ActsAsParanoid/acts_as_paranoid
@@ -150,26 +203,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
203
  requirements:
151
204
  - - ">="
152
205
  - !ruby/object:Gem::Version
153
- version: '0'
206
+ version: 2.4.0
154
207
  required_rubygems_version: !ruby/object:Gem::Requirement
155
208
  requirements:
156
209
  - - ">="
157
210
  - !ruby/object:Gem::Version
158
- version: 1.3.6
211
+ version: '0'
159
212
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.5.1
213
+ rubygems_version: 3.1.2
162
214
  signing_key:
163
215
  specification_version: 4
164
216
  summary: Active Record plugin which allows you to hide and restore records without
165
217
  actually deleting them.
166
218
  test_files:
167
- - test/test_inheritance.rb
168
- - test/test_preloader_association.rb
169
219
  - test/test_relations.rb
220
+ - test/test_inheritance.rb
170
221
  - test/test_core.rb
222
+ - test/test_default_scopes.rb
223
+ - test/test_helper.rb
171
224
  - test/test_validations.rb
172
225
  - test/test_associations.rb
173
- - test/test_helper.rb
174
- - test/test_default_scopes.rb
175
- has_rdoc:
@@ -1,15 +0,0 @@
1
- module ActsAsParanoid
2
- module PreloaderAssociation
3
- def self.included(base)
4
- base.class_eval do
5
- def build_scope_with_deleted
6
- scope = build_scope_without_deleted
7
- scope = scope.with_deleted if options[:with_deleted] && klass.respond_to?(:with_deleted)
8
- scope
9
- end
10
-
11
- alias_method_chain :build_scope, :deleted
12
- end
13
- end
14
- end
15
- end
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- class PreloaderAssociationTest < ParanoidBaseTest
4
- def test_includes_with_deleted
5
- paranoid_time = ParanoidTime.first
6
- paranoid_has_many_dependant = paranoid_time.paranoid_has_many_dependants.create(:name => 'dependant!')
7
-
8
- paranoid_time.destroy
9
-
10
- ParanoidHasManyDependant.with_deleted.includes(:paranoid_time_with_deleted).each do |hasmany|
11
- assert_not_nil hasmany.paranoid_time_with_deleted
12
- end
13
- end
14
-
15
- def test_includes_with_deleted_with_polymorphic_parent
16
- not_paranoid_parent = NotParanoidHasManyAsParent.create(name: 'not paranoid parent')
17
- paranoid_parent = ParanoidHasManyAsParent.create(name: 'paranoid parent')
18
- ParanoidBelongsToPolymorphic.create(:name => 'belongs_to', :parent => not_paranoid_parent)
19
- ParanoidBelongsToPolymorphic.create(:name => 'belongs_to', :parent => paranoid_parent)
20
-
21
- paranoid_parent.destroy
22
-
23
- ParanoidBelongsToPolymorphic.with_deleted.includes(:parent).each do |hasmany|
24
- assert_not_nil hasmany.parent
25
- end
26
- end
27
- end