rails_soft_deletable 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # RailsSoftDeletable
2
2
 
3
+ For changes/updates/history, please refer to [Github Releases](https://github.com/listia/rails_soft_deletable/releases).
4
+
3
5
  This gem provides soft delete behavior to ActiveRecord 3.2.
4
6
 
5
7
  ## Installation
@@ -48,12 +48,12 @@ module RailsSoftDeletable
48
48
  end
49
49
  end
50
50
 
51
- def deleted_at
52
- val = super
53
- if val.zero? || val.nil?
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(val).in_time_zone
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
- !!send(soft_deletable_column)
98
+ value = send(soft_deletable_column)
99
+ !value || value != 0
99
100
  end
100
101
 
101
102
  def persisted?
@@ -1,3 +1,3 @@
1
1
  module RailsSoftDeletable
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -11,11 +11,11 @@ describe RailsSoftDeletable do
11
11
  decimal_model.destroy
12
12
  integer_model.destroy
13
13
 
14
- decimal_deleted_at = DecimalModel.connection.select_value("SELECT deleted_at FROM #{DecimalModel.quoted_table_name} WHERE #{DecimalModel.primary_key} = #{decimal_model.id}")
15
- integer_deleted_at = IntegerModel.connection.select_value("SELECT deleted_at FROM #{IntegerModel.quoted_table_name} WHERE #{IntegerModel.primary_key} = #{integer_model.id}")
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(decimal_deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
18
- expect(integer_deleted_at.to_i).to eq(Time.now.to_i)
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.to_i).to eq(Time.now.to_i)
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
- decimal_deleted_at = DecimalModel.connection.select_value("SELECT deleted_at FROM #{DecimalModel.quoted_table_name} WHERE #{DecimalModel.primary_key} = #{decimal_model.id}")
111
- integer_deleted_at = IntegerModel.connection.select_value("SELECT deleted_at FROM #{IntegerModel.quoted_table_name} WHERE #{IntegerModel.primary_key} = #{integer_model.id}")
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(decimal_deleted_at).to eq(("%0.6f" % Time.now.to_f).to_f)
114
- expect(integer_deleted_at.to_i).to eq(Time.now.to_i)
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.deleted_at).to be_nil
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 "#deleted_at" do
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.deleted_at).to be_nil
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.deleted_at).to be_kind_of(Time)
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
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: -741598862832616831
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: -741598862832616831
170
+ hash: -1750599251133008537
171
171
  requirements: []
172
172
  rubyforge_project:
173
173
  rubygems_version: 1.8.24