paranoid2 1.1.0 → 1.1.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cd8254456dffe6785004b42a14847214d5a4817c
4
+ data.tar.gz: 8637b827888a0be9ec7712024e655f5719fcef3d
5
+ SHA512:
6
+ metadata.gz: 352fb19eb6cca276dfa8da79aa3e4fc2c436b08d088da7b4245d2ad9fa524f5eb7e22ecb33cd3de2c2034745844198da66fa29efc7c0d7a3d8131547a0c6883e
7
+ data.tar.gz: bb5d6bfd7a4c668399d26f471e7d868d7e37a21861caa3d9a2be197a37094709765d59203dce6451e3d5e75551d473959c2f5fec8de598bf871c4b4278fdba58
data/README.md CHANGED
@@ -56,6 +56,16 @@ Client.only_deleted
56
56
 
57
57
  ```
58
58
 
59
+ ### With paperclip
60
+
61
+ ```ruby
62
+ class Listing < ActiveRecord::Base
63
+ has_attached_file :image,
64
+ # ...
65
+ preserve_files: true
66
+ end
67
+ ```
68
+
59
69
  ## Contributing
60
70
 
61
71
  1. Fork it
data/lib/paranoid2.rb CHANGED
@@ -29,6 +29,8 @@ module Paranoid2
29
29
  include Scoping
30
30
  end
31
31
 
32
+ alias acts_as_paranoid paranoid
33
+
32
34
  def with_paranoid opts={}
33
35
  forced = opts[:force] || paranoid_force
34
36
  previous, self.paranoid_force = paranoid_force, forced
@@ -12,7 +12,7 @@ module Paranoid2
12
12
 
13
13
  def delete(opts = {})
14
14
  with_paranoid(opts) do
15
- update_attribute(:deleted_at, Time.now) if !deleted? && persisted?
15
+ touch(:deleted_at) if !deleted? && persisted?
16
16
  if paranoid_force
17
17
  self.class.unscoped { super() }
18
18
  else
@@ -24,7 +24,19 @@ module Paranoid2
24
24
  def restore(opts={})
25
25
  return if !destroyed?
26
26
 
27
- update_attribute :deleted_at, nil
27
+ attrs = timestamp_attributes_for_update_in_model
28
+ current_time = current_time_from_proper_timezone
29
+ changes = {}
30
+ attrs.each do |column|
31
+ changes[column.to_s] = write_attribute(column.to_s, current_time)
32
+ end
33
+ changes['deleted_at'] = write_attribute('deleted_at', nil)
34
+
35
+ changes[self.class.locking_column] = increment_lock if locking_enabled?
36
+
37
+ @changed_attributes.except!(*changes.keys)
38
+ primary_key = self.class.primary_key
39
+ self.class.unscoped.where({ primary_key => self[primary_key] }).update_all(changes)
28
40
 
29
41
  if opts.fetch(:associations) { true }
30
42
  restore_associations
@@ -1,3 +1,3 @@
1
1
  module Paranoid2
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/paranoid2.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency 'activerecord', '>= 4.0.0.beta'
21
+ gem.add_dependency 'activerecord', '>= 3.2.11'
22
22
 
23
23
  gem.add_development_dependency "rake"
24
24
  gem.add_development_dependency "sqlite3"
@@ -216,7 +216,7 @@ describe Paranoid2 do
216
216
 
217
217
  it 'chains paranoid models' do
218
218
  scope = model.where(name: 'foo').only_deleted
219
- scope.where_values_hash[:name].must_equal 'foo'
219
+ scope.where_values_hash['name'].must_equal 'foo'
220
220
  end
221
221
  end
222
222
  end
data/spec/spec_models.rb CHANGED
@@ -6,7 +6,7 @@ class PlainModel < ActiveRecord::Base
6
6
  end
7
7
 
8
8
  class ParanoidModel < ActiveRecord::Base
9
- paranoid
9
+ acts_as_paranoid
10
10
 
11
11
  belongs_to :parent_model
12
12
  end
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paranoid2
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.1.0
4
+ version: 1.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - yury
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-08 00:00:00.000000000 Z
11
+ date: 2013-04-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
- version_requirements: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 4.0.0.beta
22
15
  requirement: !ruby/object:Gem::Requirement
23
- none: false
24
16
  requirements:
25
- - - ! '>='
17
+ - - '>='
26
18
  - !ruby/object:Gem::Version
27
- version: 4.0.0.beta
28
- prerelease: false
19
+ version: 3.2.11
29
20
  type: :runtime
30
- - !ruby/object:Gem::Dependency
31
- name: rake
21
+ prerelease: false
32
22
  version_requirements: !ruby/object:Gem::Requirement
33
- none: false
34
23
  requirements:
35
- - - ! '>='
24
+ - - '>='
36
25
  - !ruby/object:Gem::Version
37
- version: '0'
26
+ version: 3.2.11
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
38
29
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
30
  requirements:
41
- - - ! '>='
31
+ - - '>='
42
32
  - !ruby/object:Gem::Version
43
33
  version: '0'
44
- prerelease: false
45
34
  type: :development
46
- - !ruby/object:Gem::Dependency
47
- name: sqlite3
35
+ prerelease: false
48
36
  version_requirements: !ruby/object:Gem::Requirement
49
- none: false
50
37
  requirements:
51
- - - ! '>='
38
+ - - '>='
52
39
  - !ruby/object:Gem::Version
53
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sqlite3
54
43
  requirement: !ruby/object:Gem::Requirement
55
- none: false
56
44
  requirements:
57
- - - ! '>='
45
+ - - '>='
58
46
  - !ruby/object:Gem::Version
59
47
  version: '0'
60
- prerelease: false
61
48
  type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
62
55
  description: paranoid models for rails 4
63
56
  email:
64
57
  - yury.korolev@gmail.com
@@ -82,33 +75,26 @@ files:
82
75
  homepage: https://github.com/anjlab/paranoid2
83
76
  licenses:
84
77
  - MIT
78
+ metadata: {}
85
79
  post_install_message:
86
80
  rdoc_options: []
87
81
  require_paths:
88
82
  - lib
89
83
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
84
  requirements:
92
- - - ! '>='
85
+ - - '>='
93
86
  - !ruby/object:Gem::Version
94
87
  version: '0'
95
- hash: 2406579501986756191
96
- segments:
97
- - 0
98
88
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
89
  requirements:
101
- - - ! '>='
90
+ - - '>='
102
91
  - !ruby/object:Gem::Version
103
92
  version: '0'
104
- hash: 2406579501986756191
105
- segments:
106
- - 0
107
93
  requirements: []
108
94
  rubyforge_project:
109
- rubygems_version: 1.8.24
95
+ rubygems_version: 2.0.0
110
96
  signing_key:
111
- specification_version: 3
97
+ specification_version: 4
112
98
  summary: paranoid models for rails 4
113
99
  test_files:
114
100
  - spec/paranoid2_spec.rb