permanent_records 4.1.7 → 4.2.7
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 +4 -4
- data/.rubocop.yml +6 -0
- data/Rakefile +5 -5
- data/VERSION +1 -1
- data/lib/permanent_records.rb +11 -10
- data/permanent_records.gemspec +3 -3
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bdca6f3d0ced279ab4cad8b9d83bd23cb2e2725
|
4
|
+
data.tar.gz: c9c53f6405d8a4146872ec0f52bee8f8b8741ea0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c672b6118fbc111d523d6f3e5a252610383a9a9c8ffb3e047920c4c9c3dcb0d68a418f87c27c4b5c6891f4107f77d95a8612e343f64df80bd31b4ee388a3f311
|
7
|
+
data.tar.gz: 61e651908d6acf7674661c5fd3e0b3b2140efd89686ee1e089a7664a5dcc4da1019a5d9beb3ebd9add1a13b0de392557e733a367e1df2e7e694c743109f4a4ec
|
data/.rubocop.yml
CHANGED
data/Rakefile
CHANGED
@@ -33,13 +33,13 @@ RSpec::Core::RakeTask.new(:rspec) do |t|
|
|
33
33
|
t.rspec_opts = '-f d -c'
|
34
34
|
end
|
35
35
|
|
36
|
-
task :
|
36
|
+
task publish: [:rubocop, :rspec] do
|
37
37
|
# Ensure the gem builds
|
38
38
|
system('gem build permanent_records.gemspec') &&
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
# And we didn't leave anything (aside from the gem) uncommitted
|
40
|
+
!system('git status -s | egrep -v .') &&
|
41
|
+
system('git push') &&
|
42
|
+
system("gem push permanent_records-#{version}.gem")
|
43
43
|
end
|
44
44
|
|
45
45
|
task default: [:rspec, :rubocop]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.2.7
|
data/lib/permanent_records.rb
CHANGED
@@ -151,24 +151,25 @@ module PermanentRecords
|
|
151
151
|
# namespace.
|
152
152
|
# rubocop:disable Metrics/AbcSize
|
153
153
|
def revive_destroyed_dependent_records(force = nil)
|
154
|
-
|
155
|
-
|
156
|
-
|
154
|
+
destroyed_dependent_relations.each do |relation|
|
155
|
+
relation.to_a.each { |destroyed_dependent_record| destroyed_dependent_record.try(:revive, force) }
|
156
|
+
end
|
157
|
+
reload
|
158
|
+
end
|
159
|
+
|
160
|
+
def destroyed_dependent_relations
|
161
|
+
PermanentRecords.dependent_permanent_reflections(self.class).map do |name, relation|
|
162
|
+
cardinality = relation.macro.to_s.gsub('has_', '').to_sym
|
157
163
|
case cardinality
|
158
164
|
when :many
|
159
165
|
if deleted_at
|
160
|
-
add_record_window(send(name), name,
|
166
|
+
add_record_window(send(name), name, relation)
|
161
167
|
else
|
162
|
-
send(name)
|
168
|
+
send(name).unscope(where: :deleted_at)
|
163
169
|
end
|
164
170
|
when :one, :belongs_to
|
165
171
|
self.class.unscoped { Array(send(name)) }
|
166
|
-
end.to_a.flatten.compact.each do |dependent|
|
167
|
-
dependent.revive(force)
|
168
172
|
end
|
169
|
-
|
170
|
-
# and update the reflection cache
|
171
|
-
send(name, :reload)
|
172
173
|
end
|
173
174
|
end
|
174
175
|
|
data/permanent_records.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
|
7
7
|
s.authors = ['Jack Danger Canty', 'David Sulc', 'Joe Nelson',
|
8
8
|
'Trond Arve Nordheim', 'Josh Teneycke', 'Maximilian Herold',
|
9
|
-
'Hugh Evans', 'Sergey Gnuskov', 'aq']
|
9
|
+
'Hugh Evans', 'Sergey Gnuskov', 'aq', 'Joel AZEMAR']
|
10
10
|
s.summary = 'Soft-delete your ActiveRecord records'
|
11
11
|
s.description = <<-EOS
|
12
12
|
Never Lose Data. Rather than deleting rows this sets Record#deleted_at and
|
@@ -32,7 +32,7 @@ EOS
|
|
32
32
|
s.add_development_dependency('database_cleaner', '>= 1.5.1')
|
33
33
|
s.add_development_dependency('pry-byebug')
|
34
34
|
s.add_development_dependency('rake') # For Travis-ci
|
35
|
-
s.add_development_dependency('rspec', '~>
|
36
|
-
s.add_development_dependency('rubocop', '0.
|
35
|
+
s.add_development_dependency('rspec', '~> 3.5.0')
|
36
|
+
s.add_development_dependency('rubocop', '0.42.0')
|
37
37
|
s.add_development_dependency('sqlite3')
|
38
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: permanent_records
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Danger Canty
|
@@ -13,10 +13,11 @@ authors:
|
|
13
13
|
- Hugh Evans
|
14
14
|
- Sergey Gnuskov
|
15
15
|
- aq
|
16
|
+
- Joel AZEMAR
|
16
17
|
autorequire:
|
17
18
|
bindir: bin
|
18
19
|
cert_chain: []
|
19
|
-
date: 2016-
|
20
|
+
date: 2016-09-22 00:00:00.000000000 Z
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: activerecord
|
@@ -94,28 +95,28 @@ dependencies:
|
|
94
95
|
requirements:
|
95
96
|
- - "~>"
|
96
97
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
98
|
+
version: 3.5.0
|
98
99
|
type: :development
|
99
100
|
prerelease: false
|
100
101
|
version_requirements: !ruby/object:Gem::Requirement
|
101
102
|
requirements:
|
102
103
|
- - "~>"
|
103
104
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
105
|
+
version: 3.5.0
|
105
106
|
- !ruby/object:Gem::Dependency
|
106
107
|
name: rubocop
|
107
108
|
requirement: !ruby/object:Gem::Requirement
|
108
109
|
requirements:
|
109
110
|
- - '='
|
110
111
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
112
|
+
version: 0.42.0
|
112
113
|
type: :development
|
113
114
|
prerelease: false
|
114
115
|
version_requirements: !ruby/object:Gem::Requirement
|
115
116
|
requirements:
|
116
117
|
- - '='
|
117
118
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
119
|
+
version: 0.42.0
|
119
120
|
- !ruby/object:Gem::Dependency
|
120
121
|
name: sqlite3
|
121
122
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,3 +180,4 @@ signing_key:
|
|
179
180
|
specification_version: 4
|
180
181
|
summary: Soft-delete your ActiveRecord records
|
181
182
|
test_files: []
|
183
|
+
has_rdoc:
|