mongoid-paranoia 1.3.0 → 2.0.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.
@@ -9,5 +9,5 @@ class Video
9
9
  belongs_to :post
10
10
  belongs_to :game
11
11
 
12
- default_scope ->{ asc(:title) }
12
+ default_scope -> { asc(:title) }
13
13
  end
@@ -1,47 +1,38 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe Mongoid::Attributes::Nested do
4
-
5
4
  describe "##{name}_attributes=" do
6
-
7
- context "when the parent document is new" do
8
-
9
- context "when the relation is an embeds many" do
10
-
5
+ context 'when the parent document is new' do
6
+ context 'when the relation is an embeds many' do
11
7
  let(:person) do
12
8
  Person.new
13
9
  end
14
10
 
15
11
  let(:address_one) do
16
- Address.new(street: "Unter den Linden")
12
+ Address.new(street: 'Unter den Linden')
17
13
  end
18
14
 
19
15
  let(:address_two) do
20
- Address.new(street: "Kurfeurstendamm")
16
+ Address.new(street: 'Kurfeurstendamm')
21
17
  end
22
18
 
23
19
  let(:phone_one) do
24
- ParanoidPhone.new(number: "1")
20
+ ParanoidPhone.new(number: '1')
25
21
  end
26
22
 
27
23
  let(:phone_two) do
28
- ParanoidPhone.new(number: "2")
24
+ ParanoidPhone.new(number: '2')
29
25
  end
30
26
 
31
- context "when ids are passed" do
32
-
27
+ context 'when ids are passed' do
33
28
  before do
34
- person.addresses << [ address_one, address_two ]
29
+ person.addresses << [address_one, address_two]
35
30
  end
36
31
 
37
- context "when destroy attributes are passed" do
38
-
39
- context "when the ids match" do
40
-
41
- context "when allow_destroy is true" do
42
-
43
- context "when the child has defaults" do
44
-
32
+ context 'when destroy attributes are passed' do
33
+ context 'when the ids match' do
34
+ context 'when allow_destroy is true' do
35
+ context 'when the child has defaults' do
45
36
  before(:all) do
46
37
  Person.accepts_nested_attributes_for :appointments, allow_destroy: true
47
38
  end
@@ -50,16 +41,13 @@ describe Mongoid::Attributes::Nested do
50
41
  Person.send(:undef_method, :appointments_attributes=)
51
42
  end
52
43
 
53
- context "when the parent is persisted" do
54
-
44
+ context 'when the parent is persisted' do
55
45
  let!(:persisted) do
56
46
  Person.create(age: 42)
57
47
  end
58
48
 
59
- context "when the child returns false in a before callback" do
60
-
61
- context "when the child is paranoid" do
62
-
49
+ context 'when the child returns false in a before callback' do
50
+ context 'when the child is paranoid' do
63
51
  before(:all) do
64
52
  Person.accepts_nested_attributes_for :paranoid_phones, allow_destroy: true
65
53
  end
@@ -75,10 +63,10 @@ describe Mongoid::Attributes::Nested do
75
63
 
76
64
  before do
77
65
  persisted.paranoid_phones_attributes =
78
- { "foo" => { "id" => phone.id, "number" => 42, "_destroy" => true }}
66
+ { 'foo' => { 'id' => phone.id, 'number' => 42, '_destroy' => true } }
79
67
  end
80
68
 
81
- it "does not destroy the child" do
69
+ it 'does not destroy the child' do
82
70
  expect(persisted.reload.paranoid_phones).not_to be_empty
83
71
  end
84
72
  end
@@ -86,8 +74,7 @@ describe Mongoid::Attributes::Nested do
86
74
  end
87
75
  end
88
76
 
89
- context "when the child is paranoid" do
90
-
77
+ context 'when the child is paranoid' do
91
78
  before(:all) do
92
79
  Person.send(:undef_method, :paranoid_phones_attributes=)
93
80
  Person.accepts_nested_attributes_for :paranoid_phones,
@@ -99,65 +86,60 @@ describe Mongoid::Attributes::Nested do
99
86
  Person.accepts_nested_attributes_for :paranoid_phones
100
87
  end
101
88
 
102
- [ 1, "1", true, "true" ].each do |truth|
103
-
89
+ [1, '1', true, 'true'].each do |truth|
104
90
  context "when passed a #{truth} with destroy" do
105
-
106
- context "when the parent is persisted" do
107
-
91
+ context 'when the parent is persisted' do
108
92
  let!(:persisted) do
109
93
  Person.create do |p|
110
- p.paranoid_phones << [ phone_one, phone_two ]
94
+ p.paranoid_phones << [phone_one, phone_two]
111
95
  end
112
96
  end
113
97
 
114
- context "when setting, pulling, and pushing in one op" do
115
-
98
+ context 'when setting, pulling, and pushing in one op' do
116
99
  before do
117
100
  persisted.paranoid_phones_attributes =
118
101
  {
119
- "bar" => { "id" => phone_one.id, "_destroy" => truth },
120
- "foo" => { "id" => phone_two.id, "number" => "3" },
121
- "baz" => { "number" => "4" }
102
+ 'bar' => { 'id' => phone_one.id, '_destroy' => truth },
103
+ 'foo' => { 'id' => phone_two.id, 'number' => '3' },
104
+ 'baz' => { 'number' => '4' }
122
105
  }
123
106
  end
124
107
 
125
- it "removes the first document from the relation" do
108
+ it 'removes the first document from the relation' do
126
109
  expect(persisted.paranoid_phones.size).to eq(2)
127
110
  end
128
111
 
129
- it "does not delete the unmarked document" do
130
- expect(persisted.paranoid_phones.first.number).to eq("3")
112
+ it 'does not delete the unmarked document' do
113
+ expect(persisted.paranoid_phones.first.number).to eq('3')
131
114
  end
132
115
 
133
- it "adds the new document to the relation" do
134
- expect(persisted.paranoid_phones.last.number).to eq("4")
116
+ it 'adds the new document to the relation' do
117
+ expect(persisted.paranoid_phones.last.number).to eq('4')
135
118
  end
136
119
 
137
- it "has the proper persisted count" do
120
+ it 'has the proper persisted count' do
138
121
  expect(persisted.paranoid_phones.count).to eq(1)
139
122
  end
140
123
 
141
- it "soft deletes the removed document" do
124
+ it 'soft deletes the removed document' do
142
125
  expect(phone_one).to be_destroyed
143
126
  end
144
127
 
145
- context "when saving the parent" do
146
-
128
+ context 'when saving the parent' do
147
129
  before do
148
130
  persisted.with(safe: true).save
149
131
  end
150
132
 
151
- it "deletes the marked document from the relation" do
133
+ it 'deletes the marked document from the relation' do
152
134
  expect(persisted.reload.paranoid_phones.count).to eq(2)
153
135
  end
154
136
 
155
- it "does not delete the unmarked document" do
156
- expect(persisted.reload.paranoid_phones.first.number).to eq("3")
137
+ it 'does not delete the unmarked document' do
138
+ expect(persisted.reload.paranoid_phones.first.number).to eq('3')
157
139
  end
158
140
 
159
- it "persists the new document to the relation" do
160
- expect(persisted.reload.paranoid_phones.last.number).to eq("4")
141
+ it 'persists the new document to the relation' do
142
+ expect(persisted.reload.paranoid_phones.last.number).to eq('4')
161
143
  end
162
144
  end
163
145
  end
@@ -1,54 +1,44 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe Mongoid::Criteria::Scopable do
4
-
5
- context "when the document is paranoid" do
6
-
7
- context "when calling a class method" do
8
-
4
+ context 'when the document is paranoid' do
5
+ context 'when calling a class method' do
9
6
  let(:criteria) do
10
7
  Fish.fresh
11
8
  end
12
9
 
13
- it "includes the deleted_at criteria in the selector" do
14
- expect(criteria.selector).to eq({
15
- "deleted_at" => nil, "fresh" => true
16
- })
10
+ it 'includes the deleted_at criteria in the selector' do
11
+ expect(criteria.selector).to eq('deleted_at' => nil, 'fresh' => true)
17
12
  end
18
13
  end
19
14
 
20
- context "when chaining a class method to unscoped" do
21
-
15
+ context 'when chaining a class method to unscoped' do
22
16
  let(:criteria) do
23
17
  Fish.unscoped.fresh
24
18
  end
25
19
 
26
- it "does not include the deleted_at in the selector" do
27
- expect(criteria.selector).to eq({ "fresh" => true })
20
+ it 'does not include the deleted_at in the selector' do
21
+ expect(criteria.selector).to eq('fresh' => true)
28
22
  end
29
23
  end
30
24
 
31
- context "when chaining a class method to deleted" do
32
-
25
+ context 'when chaining a class method to deleted' do
33
26
  let(:criteria) do
34
27
  Fish.deleted.fresh
35
28
  end
36
29
 
37
- it "includes the deleted_at $ne criteria in the selector" do
38
- expect(criteria.selector).to eq({
39
- "deleted_at" => { "$ne" => nil }, "fresh" => true
40
- })
30
+ it 'includes the deleted_at $ne criteria in the selector' do
31
+ expect(criteria.selector).to eq('deleted_at' => { '$ne' => nil }, 'fresh' => true)
41
32
  end
42
33
  end
43
34
 
44
- context "when chaining a where to unscoped" do
45
-
35
+ context 'when chaining a where to unscoped' do
46
36
  let(:criteria) do
47
37
  Fish.unscoped.where(fresh: true)
48
38
  end
49
39
 
50
- it "includes no default scoping information in the selector" do
51
- expect(criteria.selector).to eq({ "fresh" => true })
40
+ it 'includes no default scoping information in the selector' do
41
+ expect(criteria.selector).to eq('fresh' => true)
52
42
  end
53
43
  end
54
44
  end
@@ -1,19 +1,17 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Mongoid::Document do
4
-
5
- describe ".paranoid?" do
6
-
7
- context "when Mongoid::Paranoia is included" do
4
+ describe '.paranoid?' do
5
+ context 'when Mongoid::Paranoia is included' do
8
6
  subject { ParanoidPost }
9
- it "returns true" do
7
+ it 'returns true' do
10
8
  expect(subject.paranoid?).to be_truthy
11
9
  end
12
10
  end
13
11
 
14
- context "when Mongoid::Paranoia not included" do
12
+ context 'when Mongoid::Paranoia not included' do
15
13
  subject { Author }
16
- it "returns true" do
14
+ it 'returns true' do
17
15
  expect(subject.paranoid?).to be_falsey
18
16
  end
19
17
  end
@@ -1,20 +1,16 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Mongoid::Paranoia do
4
-
5
- describe ".scoped" do
6
-
7
- it "returns a scoped criteria" do
8
- expect(ParanoidPost.scoped.selector).to eq({ "deleted_at" => nil })
4
+ describe '.scoped' do
5
+ it 'returns a scoped criteria' do
6
+ expect(ParanoidPost.scoped.selector).to eq('deleted_at' => nil)
9
7
  end
10
8
  end
11
9
 
12
- describe ".deleted" do
13
-
14
- context "when called on a root document" do
15
-
10
+ describe '.deleted' do
11
+ context 'when called on a root document' do
16
12
  let(:post) do
17
- ParanoidPost.create(title: "testing")
13
+ ParanoidPost.create(title: 'testing')
18
14
  end
19
15
 
20
16
  before do
@@ -25,13 +21,12 @@ describe Mongoid::Paranoia do
25
21
  ParanoidPost.deleted
26
22
  end
27
23
 
28
- it "returns the deleted documents" do
29
- expect(deleted).to eq([ post ])
24
+ it 'returns the deleted documents' do
25
+ expect(deleted).to eq([post])
30
26
  end
31
27
  end
32
28
 
33
- context "when called on an embedded document" do
34
-
29
+ context 'when called on an embedded document' do
35
30
  let(:person) do
36
31
  Person.create
37
32
  end
@@ -45,22 +40,20 @@ describe Mongoid::Paranoia do
45
40
  person.reload
46
41
  end
47
42
 
48
- it "returns the deleted documents" do
49
- expect(person.paranoid_phones.deleted.to_a).to eq([ phone ])
43
+ it 'returns the deleted documents' do
44
+ expect(person.paranoid_phones.deleted.to_a).to eq([phone])
50
45
  end
51
46
 
52
- it "returns the correct count" do
47
+ it 'returns the correct count' do
53
48
  expect(person.paranoid_phones.deleted.count).to eq(1)
54
49
  end
55
50
  end
56
51
  end
57
52
 
58
- describe "#destroy!" do
59
-
60
- context "when the document is a root" do
61
-
53
+ describe '#destroy!' do
54
+ context 'when the document is a root' do
62
55
  let(:post) do
63
- ParanoidPost.create(title: "testing")
56
+ ParanoidPost.create(title: 'testing')
64
57
  end
65
58
 
66
59
  before do
@@ -71,27 +64,26 @@ describe Mongoid::Paranoia do
71
64
  ParanoidPost.collection.find(_id: post.id).first
72
65
  end
73
66
 
74
- it "hard deletes the document" do
67
+ it 'hard deletes the document' do
75
68
  expect(raw).to be_nil
76
69
  end
77
70
 
78
- it "executes the before destroy callbacks" do
71
+ it 'executes the before destroy callbacks' do
79
72
  expect(post.before_destroy_called).to be_truthy
80
73
  end
81
74
 
82
- it "executes the after destroy callbacks" do
75
+ it 'executes the after destroy callbacks' do
83
76
  expect(post.after_destroy_called).to be_truthy
84
77
  end
85
78
  end
86
79
 
87
- context "when the document is embedded" do
88
-
80
+ context 'when the document is embedded' do
89
81
  let(:person) do
90
82
  Person.create
91
83
  end
92
84
 
93
85
  let(:phone) do
94
- person.paranoid_phones.create(number: "911")
86
+ person.paranoid_phones.create(number: '911')
95
87
  end
96
88
 
97
89
  before do
@@ -102,47 +94,44 @@ describe Mongoid::Paranoia do
102
94
  Person.collection.find(_id: person.id).first
103
95
  end
104
96
 
105
- it "hard deletes the document" do
106
- expect(raw["paranoid_phones"]).to be_empty
97
+ it 'hard deletes the document' do
98
+ expect(raw['paranoid_phones']).to be_empty
107
99
  end
108
100
 
109
- it "executes the before destroy callbacks" do
101
+ it 'executes the before destroy callbacks' do
110
102
  expect(phone.before_destroy_called).to be_truthy
111
103
  end
112
104
 
113
- it "executes the after destroy callbacks" do
105
+ it 'executes the after destroy callbacks' do
114
106
  expect(phone.after_destroy_called).to be_truthy
115
107
  end
116
108
  end
117
109
 
118
- context "when the document has a dependent relation" do
119
-
110
+ context 'when the document has a dependent relation' do
120
111
  let(:post) do
121
- ParanoidPost.create(title: "test")
112
+ ParanoidPost.create(title: 'test')
122
113
  end
123
114
 
124
115
  let!(:author) do
125
- post.authors.create(name: "poe")
116
+ post.authors.create(name: 'poe')
126
117
  end
127
118
 
128
119
  before do
129
120
  post.destroy!
130
121
  end
131
122
 
132
- it "cascades the dependent option" do
133
- expect {
123
+ it 'cascades the dependent option' do
124
+ expect do
134
125
  author.reload
135
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
126
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
136
127
  end
137
128
  end
138
129
  end
139
130
 
140
- describe "#destroy" do
141
-
142
- context "when the document is a root" do
143
-
131
+ describe '#destroy' do
132
+ context 'when the document is a root' do
144
133
  let(:post) do
145
- ParanoidPost.create(title: "testing")
134
+ ParanoidPost.create(title: 'testing')
146
135
  end
147
136
 
148
137
  before do
@@ -153,33 +142,32 @@ describe Mongoid::Paranoia do
153
142
  ParanoidPost.collection.find(_id: post.id).first
154
143
  end
155
144
 
156
- it "soft deletes the document" do
157
- expect(raw["deleted_at"]).to be_within(1).of(Time.now)
145
+ it 'soft deletes the document' do
146
+ expect(raw['deleted_at']).to be_within(1).of(Time.now)
158
147
  end
159
148
 
160
- it "does not return the document in a find" do
161
- expect {
149
+ it 'does not return the document in a find' do
150
+ expect do
162
151
  ParanoidPost.find(post.id)
163
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
152
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
164
153
  end
165
154
 
166
- it "executes the before destroy callbacks" do
155
+ it 'executes the before destroy callbacks' do
167
156
  expect(post.before_destroy_called).to be_truthy
168
157
  end
169
158
 
170
- it "executes the after destroy callbacks" do
159
+ it 'executes the after destroy callbacks' do
171
160
  expect(post.after_destroy_called).to be_truthy
172
161
  end
173
162
  end
174
163
 
175
- context "when the document is embedded" do
176
-
164
+ context 'when the document is embedded' do
177
165
  let(:person) do
178
166
  Person.create
179
167
  end
180
168
 
181
169
  let(:phone) do
182
- person.paranoid_phones.create(number: "911")
170
+ person.paranoid_phones.create(number: '911')
183
171
  end
184
172
 
185
173
  before do
@@ -190,54 +178,52 @@ describe Mongoid::Paranoia do
190
178
  Person.collection.find(_id: person.id).first
191
179
  end
192
180
 
193
- it "soft deletes the document" do
194
- expect(raw["paranoid_phones"].first["deleted_at"]).to be_within(1).of(Time.now)
181
+ it 'soft deletes the document' do
182
+ expect(raw['paranoid_phones'].first['deleted_at']).to be_within(1).of(Time.now)
195
183
  end
196
184
 
197
- it "does not return the document in a find" do
198
- expect {
185
+ it 'does not return the document in a find' do
186
+ expect do
199
187
  person.paranoid_phones.find(phone.id)
200
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
188
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
201
189
  end
202
190
 
203
- it "does not include the document in the relation" do
191
+ it 'does not include the document in the relation' do
204
192
  expect(person.paranoid_phones.scoped).to be_empty
205
193
  end
206
194
 
207
- it "executes the before destroy callbacks" do
195
+ it 'executes the before destroy callbacks' do
208
196
  expect(phone.before_destroy_called).to be_truthy
209
197
  end
210
198
 
211
- it "executes the after destroy callbacks" do
199
+ it 'executes the after destroy callbacks' do
212
200
  expect(phone.after_destroy_called).to be_truthy
213
201
  end
214
202
  end
215
203
 
216
- context "when the document has a dependent: :delete relation" do
217
-
204
+ context 'when the document has a dependent: :delete relation' do
218
205
  let(:post) do
219
- ParanoidPost.create(title: "test")
206
+ ParanoidPost.create(title: 'test')
220
207
  end
221
208
 
222
209
  let!(:author) do
223
- post.authors.create(name: "poe")
210
+ post.authors.create(name: 'poe')
224
211
  end
225
212
 
226
213
  before do
227
214
  post.destroy
228
215
  end
229
216
 
230
- it "cascades the dependent option" do
231
- expect {
217
+ it 'cascades the dependent option' do
218
+ expect do
232
219
  author.reload
233
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
220
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
234
221
  end
235
222
  end
236
223
 
237
- context "when the document has a dependent: :restrict relation" do
238
-
224
+ context 'when the document has a dependent: :restrict relation' do
239
225
  let(:post) do
240
- ParanoidPost.create(title: "test")
226
+ ParanoidPost.create(title: 'test')
241
227
  end
242
228
 
243
229
  let!(:title) do
@@ -251,148 +237,132 @@ describe Mongoid::Paranoia do
251
237
  end
252
238
  end
253
239
 
254
- it "does not destroy the document" do
240
+ it 'does not destroy the document' do
255
241
  expect(post).not_to be_destroyed
256
242
  end
257
243
  end
258
244
  end
259
245
 
260
- describe "#destroyed?" do
261
-
262
- context "when the document is a root" do
263
-
246
+ describe '#destroyed?' do
247
+ context 'when the document is a root' do
264
248
  let(:post) do
265
- ParanoidPost.create(title: "testing")
249
+ ParanoidPost.create(title: 'testing')
266
250
  end
267
251
 
268
- context "when the document is hard deleted" do
269
-
252
+ context 'when the document is hard deleted' do
270
253
  before do
271
254
  post.destroy!
272
255
  end
273
256
 
274
- it "returns true" do
257
+ it 'returns true' do
275
258
  expect(post).to be_destroyed
276
259
  end
277
260
  end
278
261
 
279
- context "when the document is soft deleted" do
280
-
262
+ context 'when the document is soft deleted' do
281
263
  before do
282
264
  post.destroy
283
265
  end
284
266
 
285
- it "returns true" do
267
+ it 'returns true' do
286
268
  expect(post).to be_destroyed
287
269
  end
288
270
  end
289
271
  end
290
272
 
291
- context "when the document is embedded" do
292
-
273
+ context 'when the document is embedded' do
293
274
  let(:person) do
294
275
  Person.create
295
276
  end
296
277
 
297
278
  let(:phone) do
298
- person.paranoid_phones.create(number: "911")
279
+ person.paranoid_phones.create(number: '911')
299
280
  end
300
281
 
301
- context "when the document is hard deleted" do
302
-
282
+ context 'when the document is hard deleted' do
303
283
  before do
304
284
  phone.destroy!
305
285
  end
306
286
 
307
- it "returns true" do
287
+ it 'returns true' do
308
288
  expect(phone).to be_destroyed
309
289
  end
310
290
  end
311
291
 
312
- context "when the document is soft deleted" do
313
-
292
+ context 'when the document is soft deleted' do
314
293
  before do
315
294
  phone.destroy
316
295
  end
317
296
 
318
- it "returns true" do
297
+ it 'returns true' do
319
298
  expect(phone).to be_destroyed
320
299
  end
321
300
  end
322
301
  end
323
302
  end
324
303
 
325
- describe "#deleted?" do
326
-
327
- context "when the document is a root" do
328
-
304
+ describe '#deleted?' do
305
+ context 'when the document is a root' do
329
306
  let(:post) do
330
- ParanoidPost.create(title: "testing")
307
+ ParanoidPost.create(title: 'testing')
331
308
  end
332
309
 
333
- context "when the document is hard deleted" do
334
-
310
+ context 'when the document is hard deleted' do
335
311
  before do
336
312
  post.destroy!
337
313
  end
338
314
 
339
- it "returns true" do
315
+ it 'returns true' do
340
316
  expect(post).to be_deleted
341
317
  end
342
318
  end
343
319
 
344
- context "when the document is soft deleted" do
345
-
320
+ context 'when the document is soft deleted' do
346
321
  before do
347
322
  post.destroy
348
323
  end
349
324
 
350
- it "returns true" do
325
+ it 'returns true' do
351
326
  expect(post).to be_deleted
352
327
  end
353
328
  end
354
329
  end
355
330
 
356
- context "when the document is embedded" do
357
-
331
+ context 'when the document is embedded' do
358
332
  let(:person) do
359
333
  Person.create
360
334
  end
361
335
 
362
336
  let(:phone) do
363
- person.paranoid_phones.create(number: "911")
337
+ person.paranoid_phones.create(number: '911')
364
338
  end
365
339
 
366
- context "when the document is hard deleted" do
367
-
340
+ context 'when the document is hard deleted' do
368
341
  before do
369
342
  phone.destroy!
370
343
  end
371
344
 
372
- it "returns true" do
345
+ it 'returns true' do
373
346
  expect(phone).to be_deleted
374
347
  end
375
348
  end
376
349
 
377
- context "when the document is soft deleted" do
378
-
350
+ context 'when the document is soft deleted' do
379
351
  before do
380
352
  phone.destroy
381
353
  end
382
354
 
383
- it "returns true" do
355
+ it 'returns true' do
384
356
  expect(phone).to be_deleted
385
357
  end
386
358
  end
387
359
  end
388
360
  end
389
361
 
390
- describe "#delete!" do
391
-
392
- context "when the document is a root" do
393
-
362
+ describe '#delete!' do
363
+ context 'when the document is a root' do
394
364
  let(:post) do
395
- ParanoidPost.create(title: "testing")
365
+ ParanoidPost.create(title: 'testing')
396
366
  end
397
367
 
398
368
  before do
@@ -403,19 +373,18 @@ describe Mongoid::Paranoia do
403
373
  ParanoidPost.collection.find(_id: post.id).first
404
374
  end
405
375
 
406
- it "hard deletes the document" do
376
+ it 'hard deletes the document' do
407
377
  expect(raw).to be_nil
408
378
  end
409
379
  end
410
380
 
411
- context "when the document is embedded" do
412
-
381
+ context 'when the document is embedded' do
413
382
  let(:person) do
414
383
  Person.create
415
384
  end
416
385
 
417
386
  let(:phone) do
418
- person.paranoid_phones.create(number: "911")
387
+ person.paranoid_phones.create(number: '911')
419
388
  end
420
389
 
421
390
  before do
@@ -426,39 +395,36 @@ describe Mongoid::Paranoia do
426
395
  Person.collection.find(_id: person.id).first
427
396
  end
428
397
 
429
- it "hard deletes the document" do
430
- expect(raw["paranoid_phones"]).to be_empty
398
+ it 'hard deletes the document' do
399
+ expect(raw['paranoid_phones']).to be_empty
431
400
  end
432
401
  end
433
402
 
434
- context "when the document has a dependent relation" do
435
-
403
+ context 'when the document has a dependent relation' do
436
404
  let(:post) do
437
- ParanoidPost.create(title: "test")
405
+ ParanoidPost.create(title: 'test')
438
406
  end
439
407
 
440
408
  let!(:author) do
441
- post.authors.create(name: "poe")
409
+ post.authors.create(name: 'poe')
442
410
  end
443
411
 
444
412
  before do
445
413
  post.delete!
446
414
  end
447
415
 
448
- it "cascades the dependent option" do
449
- expect {
416
+ it 'cascades the dependent option' do
417
+ expect do
450
418
  author.reload
451
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
419
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
452
420
  end
453
421
  end
454
422
  end
455
423
 
456
- describe "#delete" do
457
-
458
- context "when the document is a root" do
459
-
424
+ describe '#delete' do
425
+ context 'when the document is a root' do
460
426
  let(:post) do
461
- ParanoidPost.create(title: "testing")
427
+ ParanoidPost.create(title: 'testing')
462
428
  end
463
429
 
464
430
  before do
@@ -469,29 +435,28 @@ describe Mongoid::Paranoia do
469
435
  ParanoidPost.collection.find(_id: post.id).first
470
436
  end
471
437
 
472
- it "soft deletes the document" do
473
- expect(raw["deleted_at"]).to be_within(1).of(Time.now)
438
+ it 'soft deletes the document' do
439
+ expect(raw['deleted_at']).to be_within(1).of(Time.now)
474
440
  end
475
441
 
476
- it "does not return the document in a find" do
477
- expect {
442
+ it 'does not return the document in a find' do
443
+ expect do
478
444
  ParanoidPost.find(post.id)
479
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
445
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
480
446
  end
481
447
 
482
- it "clears out the persistence options" do
448
+ it 'clears out the persistence options' do
483
449
  expect(ParanoidPost.persistence_options).to be_nil
484
450
  end
485
451
  end
486
452
 
487
- context "when the document is embedded" do
488
-
453
+ context 'when the document is embedded' do
489
454
  let(:person) do
490
455
  Person.create
491
456
  end
492
457
 
493
458
  let(:phone) do
494
- person.paranoid_phones.create(number: "911")
459
+ person.paranoid_phones.create(number: '911')
495
460
  end
496
461
 
497
462
  before do
@@ -502,46 +467,44 @@ describe Mongoid::Paranoia do
502
467
  Person.collection.find(_id: person.id).first
503
468
  end
504
469
 
505
- it "soft deletes the document" do
506
- expect(raw["paranoid_phones"].first["deleted_at"]).to be_within(1).of(Time.now)
470
+ it 'soft deletes the document' do
471
+ expect(raw['paranoid_phones'].first['deleted_at']).to be_within(1).of(Time.now)
507
472
  end
508
473
 
509
- it "does not return the document in a find" do
510
- expect {
474
+ it 'does not return the document in a find' do
475
+ expect do
511
476
  person.paranoid_phones.find(phone.id)
512
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
477
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
513
478
  end
514
479
 
515
- it "does not include the document in the relation" do
480
+ it 'does not include the document in the relation' do
516
481
  expect(person.paranoid_phones.scoped).to be_empty
517
482
  end
518
483
  end
519
484
 
520
- context "when the document has a dependent relation" do
521
-
485
+ context 'when the document has a dependent relation' do
522
486
  let(:post) do
523
- ParanoidPost.create(title: "test")
487
+ ParanoidPost.create(title: 'test')
524
488
  end
525
489
 
526
490
  let!(:author) do
527
- post.authors.create(name: "poe")
491
+ post.authors.create(name: 'poe')
528
492
  end
529
493
 
530
494
  before do
531
495
  post.delete
532
496
  end
533
497
 
534
- it "cascades the dependent option" do
535
- expect {
498
+ it 'cascades the dependent option' do
499
+ expect do
536
500
  author.reload
537
- }.to raise_error(Mongoid::Errors::DocumentNotFound)
501
+ end.to raise_error(Mongoid::Errors::DocumentNotFound)
538
502
  end
539
503
  end
540
504
 
541
- context "when the document has a dependent: :restrict relation" do
542
-
505
+ context 'when the document has a dependent: :restrict relation' do
543
506
  let(:post) do
544
- ParanoidPost.create(title: "test")
507
+ ParanoidPost.create(title: 'test')
545
508
  end
546
509
 
547
510
  let!(:title) do
@@ -555,14 +518,13 @@ describe Mongoid::Paranoia do
555
518
  end
556
519
  end
557
520
 
558
- it "does not destroy the document" do
521
+ it 'does not destroy the document' do
559
522
  expect(post).not_to be_destroyed
560
523
  end
561
524
  end
562
525
  end
563
526
 
564
- describe "#remove" do
565
-
527
+ describe '#remove' do
566
528
  let(:post) do
567
529
  ParanoidPost.new
568
530
  end
@@ -575,17 +537,15 @@ describe Mongoid::Paranoia do
575
537
  post.remove
576
538
  end
577
539
 
578
- it "sets the deleted flag" do
540
+ it 'sets the deleted flag' do
579
541
  expect(post).to be_destroyed
580
542
  end
581
543
  end
582
544
 
583
- describe "#restore" do
584
-
585
- context "when the document is a root" do
586
-
545
+ describe '#restore' do
546
+ context 'when the document is a root' do
587
547
  let(:post) do
588
- ParanoidPost.create(title: "testing")
548
+ ParanoidPost.create(title: 'testing')
589
549
  end
590
550
 
591
551
  before do
@@ -593,27 +553,26 @@ describe Mongoid::Paranoia do
593
553
  post.restore
594
554
  end
595
555
 
596
- it "removes the deleted at time" do
556
+ it 'removes the deleted at time' do
597
557
  expect(post.deleted_at).to be_nil
598
558
  end
599
559
 
600
- it "persists the change" do
560
+ it 'persists the change' do
601
561
  expect(post.reload.deleted_at).to be_nil
602
562
  end
603
563
 
604
- it "marks document again as persisted" do
564
+ it 'marks document again as persisted' do
605
565
  expect(post.persisted?).to be_truthy
606
566
  end
607
567
  end
608
568
 
609
- context "when the document is embedded" do
610
-
569
+ context 'when the document is embedded' do
611
570
  let(:person) do
612
571
  Person.create
613
572
  end
614
573
 
615
574
  let(:phone) do
616
- person.paranoid_phones.create(number: "911")
575
+ person.paranoid_phones.create(number: '911')
617
576
  end
618
577
 
619
578
  before do
@@ -621,29 +580,27 @@ describe Mongoid::Paranoia do
621
580
  phone.restore
622
581
  end
623
582
 
624
- it "removes the deleted at time" do
583
+ it 'removes the deleted at time' do
625
584
  expect(phone.deleted_at).to be_nil
626
585
  end
627
586
 
628
- it "persists the change" do
587
+ it 'persists the change' do
629
588
  expect(person.reload.paranoid_phones.first.deleted_at).to be_nil
630
589
  end
631
590
  end
632
591
  end
633
592
 
634
- describe ".scoped" do
635
-
593
+ describe '.scoped' do
636
594
  let(:scoped) do
637
595
  ParanoidPost.scoped
638
596
  end
639
597
 
640
- it "returns a scoped criteria" do
641
- expect(scoped.selector).to eq({ "deleted_at" => nil })
598
+ it 'returns a scoped criteria' do
599
+ expect(scoped.selector).to eq('deleted_at' => nil)
642
600
  end
643
601
  end
644
602
 
645
- describe "#set" do
646
-
603
+ describe '#set' do
647
604
  let!(:post) do
648
605
  ParanoidPost.create
649
606
  end
@@ -656,54 +613,49 @@ describe Mongoid::Paranoia do
656
613
  post.set(deleted_at: time)
657
614
  end
658
615
 
659
- it "persists the change" do
616
+ it 'persists the change' do
660
617
  expect(post.reload.deleted_at).to be_within(1).of(time)
661
618
  end
662
619
  end
663
620
 
664
- describe ".unscoped" do
665
-
621
+ describe '.unscoped' do
666
622
  let(:unscoped) do
667
623
  ParanoidPost.unscoped
668
624
  end
669
625
 
670
- it "returns an unscoped criteria" do
626
+ it 'returns an unscoped criteria' do
671
627
  expect(unscoped.selector).to eq({})
672
628
  end
673
629
  end
674
630
 
675
- describe "#to_param" do
676
-
631
+ describe '#to_param' do
677
632
  let(:post) do
678
- ParanoidPost.new(title: "testing")
633
+ ParanoidPost.new(title: 'testing')
679
634
  end
680
635
 
681
- context "when the document is new" do
682
-
683
- it "still returns nil" do
636
+ context 'when the document is new' do
637
+ it 'still returns nil' do
684
638
  expect(post.to_param).to be_nil
685
639
  end
686
640
  end
687
641
 
688
- context "when the document is not deleted" do
689
-
642
+ context 'when the document is not deleted' do
690
643
  before do
691
644
  post.save
692
645
  end
693
646
 
694
- it "returns the id as a string" do
647
+ it 'returns the id as a string' do
695
648
  expect(post.to_param).to eq(post.id.to_s)
696
649
  end
697
650
  end
698
651
 
699
- context "when the document is deleted" do
700
-
652
+ context 'when the document is deleted' do
701
653
  before do
702
654
  post.save
703
655
  post.delete
704
656
  end
705
657
 
706
- it "returns the id as a string" do
658
+ it 'returns the id as a string' do
707
659
  expect(post.to_param).to eq(post.id.to_s)
708
660
  end
709
661
  end