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 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