rails_soft_deletable 0.0.4 → 0.0.5
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.
- data/README.md +2 -0
- data/lib/rails_soft_deletable.rb +6 -5
- data/lib/rails_soft_deletable/version.rb +1 -1
- data/spec/rails_soft_deletable_spec.rb +21 -15
- metadata +3 -3
data/README.md
CHANGED
data/lib/rails_soft_deletable.rb
CHANGED
@@ -48,12 +48,12 @@ module RailsSoftDeletable
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
def
|
52
|
-
|
53
|
-
if
|
51
|
+
def soft_delete_time
|
52
|
+
value = send(soft_deletable_column)
|
53
|
+
if value.zero? || value.nil?
|
54
54
|
nil
|
55
55
|
else
|
56
|
-
Time.at(
|
56
|
+
Time.at(value).in_time_zone
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -95,7 +95,8 @@ module RailsSoftDeletable
|
|
95
95
|
alias :restore :restore!
|
96
96
|
|
97
97
|
def destroyed?
|
98
|
-
|
98
|
+
value = send(soft_deletable_column)
|
99
|
+
!value || value != 0
|
99
100
|
end
|
100
101
|
|
101
102
|
def persisted?
|
@@ -11,11 +11,11 @@ describe RailsSoftDeletable do
|
|
11
11
|
decimal_model.destroy
|
12
12
|
integer_model.destroy
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
raw_decimal_deleted_at = DecimalModel.connection.select_value("SELECT deleted_at FROM #{DecimalModel.quoted_table_name} WHERE #{DecimalModel.primary_key} = #{decimal_model.id}")
|
15
|
+
raw_integer_deleted_at = IntegerModel.connection.select_value("SELECT deleted_at FROM #{IntegerModel.quoted_table_name} WHERE #{IntegerModel.primary_key} = #{integer_model.id}")
|
16
16
|
|
17
|
-
expect(
|
18
|
-
expect(
|
17
|
+
expect(raw_decimal_deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
|
18
|
+
expect(raw_integer_deleted_at.to_i).to eq(Time.now.to_i)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -24,8 +24,11 @@ describe RailsSoftDeletable do
|
|
24
24
|
decimal_model.destroy
|
25
25
|
integer_model.destroy
|
26
26
|
|
27
|
-
expect(decimal_model.deleted_at).to eq(Time.now)
|
28
|
-
expect(integer_model.deleted_at
|
27
|
+
expect(decimal_model.deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
|
28
|
+
expect(integer_model.deleted_at).to eq(Time.now.to_i)
|
29
|
+
|
30
|
+
expect(decimal_model.soft_delete_time).to eq(Time.now)
|
31
|
+
expect(integer_model.soft_delete_time.to_i).to eq(Time.now.to_i)
|
29
32
|
end
|
30
33
|
end
|
31
34
|
|
@@ -107,11 +110,11 @@ describe RailsSoftDeletable do
|
|
107
110
|
decimal_model.delete
|
108
111
|
integer_model.delete
|
109
112
|
|
110
|
-
|
111
|
-
|
113
|
+
raw_decimal_deleted_at = DecimalModel.connection.select_value("SELECT deleted_at FROM #{DecimalModel.quoted_table_name} WHERE #{DecimalModel.primary_key} = #{decimal_model.id}")
|
114
|
+
raw_integer_deleted_at = IntegerModel.connection.select_value("SELECT deleted_at FROM #{IntegerModel.quoted_table_name} WHERE #{IntegerModel.primary_key} = #{integer_model.id}")
|
112
115
|
|
113
|
-
expect(
|
114
|
-
expect(
|
116
|
+
expect(raw_decimal_deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
|
117
|
+
expect(raw_integer_deleted_at.to_i).to eq(Time.now.to_i)
|
115
118
|
end
|
116
119
|
end
|
117
120
|
|
@@ -120,8 +123,11 @@ describe RailsSoftDeletable do
|
|
120
123
|
decimal_model.delete
|
121
124
|
integer_model.delete
|
122
125
|
|
123
|
-
expect(decimal_model.deleted_at).to eq(Time.now)
|
126
|
+
expect(decimal_model.deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
|
124
127
|
expect(integer_model.deleted_at.to_i).to eq(Time.now.to_i)
|
128
|
+
|
129
|
+
expect(decimal_model.soft_delete_time).to eq(Time.now)
|
130
|
+
expect(integer_model.soft_delete_time.to_i).to eq(Time.now.to_i)
|
125
131
|
end
|
126
132
|
end
|
127
133
|
|
@@ -206,7 +212,7 @@ describe RailsSoftDeletable do
|
|
206
212
|
model.restore!
|
207
213
|
|
208
214
|
expect(model).to be_persisted
|
209
|
-
expect(model.
|
215
|
+
expect(model.soft_delete_time).to be_nil
|
210
216
|
expect(model).to_not be_deleted_at_changed
|
211
217
|
expect(model).to_not be_destroyed
|
212
218
|
expect(model).to_not be_new_record
|
@@ -233,10 +239,10 @@ describe RailsSoftDeletable do
|
|
233
239
|
end
|
234
240
|
end
|
235
241
|
|
236
|
-
context "#
|
242
|
+
context "#soft_delete_time" do
|
237
243
|
context "when record has not been soft deleted" do
|
238
244
|
it "returns nil" do
|
239
|
-
expect(model.
|
245
|
+
expect(model.soft_delete_time).to be_nil
|
240
246
|
end
|
241
247
|
end
|
242
248
|
|
@@ -246,7 +252,7 @@ describe RailsSoftDeletable do
|
|
246
252
|
end
|
247
253
|
|
248
254
|
it "returns a Time object" do
|
249
|
-
expect(model.
|
255
|
+
expect(model.soft_delete_time).to be_kind_of(Time)
|
250
256
|
end
|
251
257
|
end
|
252
258
|
end
|
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.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -158,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
segments:
|
160
160
|
- 0
|
161
|
-
hash: -
|
161
|
+
hash: -1750599251133008537
|
162
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
163
|
none: false
|
164
164
|
requirements:
|
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
167
|
version: '0'
|
168
168
|
segments:
|
169
169
|
- 0
|
170
|
-
hash: -
|
170
|
+
hash: -1750599251133008537
|
171
171
|
requirements: []
|
172
172
|
rubyforge_project:
|
173
173
|
rubygems_version: 1.8.24
|