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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20dcb9aa315fd6a5ef68fe0085e48ae281302553
4
- data.tar.gz: 630fbfcca7864a15dd4153a5ae43e5f608f8113b
3
+ metadata.gz: 4bdca6f3d0ced279ab4cad8b9d83bd23cb2e2725
4
+ data.tar.gz: c9c53f6405d8a4146872ec0f52bee8f8b8741ea0
5
5
  SHA512:
6
- metadata.gz: d82a489616bb8429db6850d05108a4f5af30ac2cef7f1971d10340d36b361d859fd59e51d02aaccddda3e44670c327d960d907e6645e790ef2c617e424ab0c01
7
- data.tar.gz: bca5df4208d994416d08df2fda5911761eb72953e39e3e385d30e17a50c593ed59e2451c90c7666c213493e583cc936ab61b91580411c10f9da1d9e1b8a27469
6
+ metadata.gz: c672b6118fbc111d523d6f3e5a252610383a9a9c8ffb3e047920c4c9c3dcb0d68a418f87c27c4b5c6891f4107f77d95a8612e343f64df80bd31b4ee388a3f311
7
+ data.tar.gz: 61e651908d6acf7674661c5fd3e0b3b2140efd89686ee1e089a7664a5dcc4da1019a5d9beb3ebd9add1a13b0de392557e733a367e1df2e7e694c743109f4a4ec
@@ -1,3 +1,9 @@
1
1
  AllCops:
2
2
  Exclude:
3
3
  - bin/*
4
+
5
+ Metrics/LineLength:
6
+ Max: 120
7
+
8
+ Style/BlockDelimiters:
9
+ Enabled: false
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 :publish do
36
+ task publish: [:rubocop, :rspec] do
37
37
  # Ensure the gem builds
38
38
  system('gem build permanent_records.gemspec') &&
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")
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.7
1
+ 4.2.7
@@ -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
- PermanentRecords.dependent_permanent_reflections(self.class)
155
- .each do |name, reflection|
156
- cardinality = reflection.macro.to_s.gsub('has_', '').to_sym
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, reflection)
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
 
@@ -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', '~> 2.14.1')
36
- s.add_development_dependency('rubocop', '0.39.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.1.7
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-07-07 00:00:00.000000000 Z
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: 2.14.1
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: 2.14.1
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.39.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.39.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: