rails_soft_deletable 0.1.0 → 0.2.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 +8 -8
- data/lib/rails_soft_deletable/callbacks.rb +8 -28
- data/lib/rails_soft_deletable/version.rb +1 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/soft_deletable_model_callbacks.rb +25 -6
- data/spec/dummy/log/test.log +759 -1131
- data/spec/rails_soft_deletable_spec.rb +20 -27
- metadata +30 -32
- data/spec/dummy/log/development.log +0 -0
@@ -240,9 +240,16 @@ describe RailsSoftDeletable do
|
|
240
240
|
it "performs destroy callbacks" do
|
241
241
|
model.destroy
|
242
242
|
|
243
|
-
expect(model.before_destroy_called).to eq(
|
244
|
-
expect(model.around_destroy_called).to eq(
|
245
|
-
expect(model.after_destroy_called).to eq(
|
243
|
+
expect(model.before_destroy_called).to eq(1)
|
244
|
+
expect(model.around_destroy_called).to eq(2)
|
245
|
+
expect(model.after_destroy_called).to eq(3)
|
246
|
+
end
|
247
|
+
|
248
|
+
it "performs commit callbacks" do
|
249
|
+
model.destroy
|
250
|
+
|
251
|
+
expect(model.after_commit_called).to eq(4)
|
252
|
+
expect(model.after_commit_called).to be > model.after_destroy_called
|
246
253
|
end
|
247
254
|
|
248
255
|
context "when record has already been soft deleted" do
|
@@ -251,19 +258,12 @@ describe RailsSoftDeletable do
|
|
251
258
|
model.reset_callback_flags!
|
252
259
|
end
|
253
260
|
|
254
|
-
it "
|
255
|
-
model.destroy
|
256
|
-
|
257
|
-
expect(model.before_destroy_called).to be_nil
|
258
|
-
expect(model.around_destroy_called).to be_nil
|
259
|
-
expect(model.after_destroy_called).to be_nil
|
260
|
-
end
|
261
|
-
|
262
|
-
it "hard deletes the record from the database" do
|
261
|
+
it "continues to call destroy callbacks" do
|
263
262
|
model.destroy
|
264
263
|
|
265
|
-
|
266
|
-
expect(
|
264
|
+
expect(model.before_destroy_called).to eq(1)
|
265
|
+
expect(model.around_destroy_called).to eq(2)
|
266
|
+
expect(model.after_destroy_called).to eq(3)
|
267
267
|
end
|
268
268
|
end
|
269
269
|
|
@@ -278,9 +278,9 @@ describe RailsSoftDeletable do
|
|
278
278
|
it "performs destroy callbacks" do
|
279
279
|
model.destroy(:hard)
|
280
280
|
|
281
|
-
expect(model.before_destroy_called).to eq(
|
282
|
-
expect(model.around_destroy_called).to eq(
|
283
|
-
expect(model.after_destroy_called).to eq(
|
281
|
+
expect(model.before_destroy_called).to eq(1)
|
282
|
+
expect(model.around_destroy_called).to eq(2)
|
283
|
+
expect(model.after_destroy_called).to eq(3)
|
284
284
|
end
|
285
285
|
end
|
286
286
|
end
|
@@ -356,13 +356,6 @@ describe RailsSoftDeletable do
|
|
356
356
|
expect(model.around_destroy_called).to be_nil
|
357
357
|
expect(model.after_destroy_called).to be_nil
|
358
358
|
end
|
359
|
-
|
360
|
-
it "hard deletes the record from the database" do
|
361
|
-
model.delete
|
362
|
-
|
363
|
-
count = model.class.connection.select_value("SELECT COUNT(*) FROM #{model.class.quoted_table_name} WHERE #{model.class.primary_key} = #{model.id}")
|
364
|
-
expect(count).to eq(0)
|
365
|
-
end
|
366
359
|
end
|
367
360
|
|
368
361
|
context "with hard delete mode" do
|
@@ -410,9 +403,9 @@ describe RailsSoftDeletable do
|
|
410
403
|
it "performs restore callbacks" do
|
411
404
|
model.restore!
|
412
405
|
|
413
|
-
expect(model.before_restore_called).to eq(
|
414
|
-
expect(model.around_restore_called).to eq(
|
415
|
-
expect(model.after_restore_called).to eq(
|
406
|
+
expect(model.before_restore_called).to eq(1)
|
407
|
+
expect(model.around_restore_called).to eq(2)
|
408
|
+
expect(model.after_restore_called).to eq(3)
|
416
409
|
end
|
417
410
|
|
418
411
|
it "returns true" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_soft_deletable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quan Nguyen
|
@@ -9,11 +9,10 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
17
|
- - ! '>='
|
19
18
|
- !ruby/object:Gem::Version
|
@@ -21,9 +20,9 @@ dependencies:
|
|
21
20
|
- - <
|
22
21
|
- !ruby/object:Gem::Version
|
23
22
|
version: '4.1'
|
24
|
-
type: :runtime
|
25
23
|
prerelease: false
|
26
|
-
|
24
|
+
name: rails
|
25
|
+
requirement: !ruby/object:Gem::Requirement
|
27
26
|
requirements:
|
28
27
|
- - ! '>='
|
29
28
|
- !ruby/object:Gem::Version
|
@@ -31,35 +30,42 @@ dependencies:
|
|
31
30
|
- - <
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '4.1'
|
33
|
+
type: :runtime
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
36
|
-
requirement: !ruby/object:Gem::Requirement
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - ~>
|
39
38
|
- !ruby/object:Gem::Version
|
40
39
|
version: '1.3'
|
41
|
-
type: :development
|
42
40
|
prerelease: false
|
43
|
-
|
41
|
+
name: bundler
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
44
|
- - ~>
|
46
45
|
- !ruby/object:Gem::Version
|
47
46
|
version: '1.3'
|
47
|
+
type: :development
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
50
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
50
|
requirements:
|
52
51
|
- - ! '>='
|
53
52
|
- !ruby/object:Gem::Version
|
54
53
|
version: '0'
|
55
|
-
type: :development
|
56
54
|
prerelease: false
|
57
|
-
|
55
|
+
name: rake
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
58
|
- - ! '>='
|
60
59
|
- !ruby/object:Gem::Version
|
61
60
|
version: '0'
|
61
|
+
type: :development
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 3.1.0
|
68
|
+
prerelease: false
|
63
69
|
name: rspec
|
64
70
|
requirement: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
@@ -67,13 +73,13 @@ dependencies:
|
|
67
73
|
- !ruby/object:Gem::Version
|
68
74
|
version: 3.1.0
|
69
75
|
type: :development
|
70
|
-
|
76
|
+
- !ruby/object:Gem::Dependency
|
71
77
|
version_requirements: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
79
|
- - ~>
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
76
|
-
|
81
|
+
version: '1.6'
|
82
|
+
prerelease: false
|
77
83
|
name: debugger
|
78
84
|
requirement: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
@@ -81,13 +87,13 @@ dependencies:
|
|
81
87
|
- !ruby/object:Gem::Version
|
82
88
|
version: '1.6'
|
83
89
|
type: :development
|
84
|
-
|
90
|
+
- !ruby/object:Gem::Dependency
|
85
91
|
version_requirements: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
87
|
-
- -
|
93
|
+
- - ! '>='
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
-
|
95
|
+
version: '0'
|
96
|
+
prerelease: false
|
91
97
|
name: timecop
|
92
98
|
requirement: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
@@ -95,13 +101,13 @@ dependencies:
|
|
95
101
|
- !ruby/object:Gem::Version
|
96
102
|
version: '0'
|
97
103
|
type: :development
|
98
|
-
|
104
|
+
- !ruby/object:Gem::Dependency
|
99
105
|
version_requirements: !ruby/object:Gem::Requirement
|
100
106
|
requirements:
|
101
107
|
- - ! '>='
|
102
108
|
- !ruby/object:Gem::Version
|
103
109
|
version: '0'
|
104
|
-
|
110
|
+
prerelease: false
|
105
111
|
name: sqlite3
|
106
112
|
requirement: !ruby/object:Gem::Requirement
|
107
113
|
requirements:
|
@@ -109,12 +115,6 @@ dependencies:
|
|
109
115
|
- !ruby/object:Gem::Version
|
110
116
|
version: '0'
|
111
117
|
type: :development
|
112
|
-
prerelease: false
|
113
|
-
version_requirements: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
118
|
description: Soft deletable for ActiveRecord on Rails 3+.
|
119
119
|
email:
|
120
120
|
- quan@listia.com
|
@@ -162,7 +162,6 @@ files:
|
|
162
162
|
- spec/dummy/db/schema.rb
|
163
163
|
- spec/dummy/db/test.sqlite3
|
164
164
|
- spec/dummy/lib/soft_deletable_model_callbacks.rb
|
165
|
-
- spec/dummy/log/development.log
|
166
165
|
- spec/dummy/log/test.log
|
167
166
|
- spec/dummy/public/404.html
|
168
167
|
- spec/dummy/public/422.html
|
@@ -193,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
192
|
version: '0'
|
194
193
|
requirements: []
|
195
194
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.
|
195
|
+
rubygems_version: 2.2.2
|
197
196
|
signing_key:
|
198
197
|
specification_version: 4
|
199
198
|
summary: Soft deletable for ActiveRecord on Rails 3+
|
@@ -227,7 +226,6 @@ test_files:
|
|
227
226
|
- spec/dummy/db/schema.rb
|
228
227
|
- spec/dummy/db/test.sqlite3
|
229
228
|
- spec/dummy/lib/soft_deletable_model_callbacks.rb
|
230
|
-
- spec/dummy/log/development.log
|
231
229
|
- spec/dummy/log/test.log
|
232
230
|
- spec/dummy/public/404.html
|
233
231
|
- spec/dummy/public/422.html
|
File without changes
|