permanent_records 4.1.7 → 4.2.7

Sign up to get free protection for your applications and to get access to all the features.
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: