permanent_records 5.0.0.1 → 6.0.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 +4 -4
- data/.github/workflows/gempush.yml +10 -3
- data/.github/workflows/test_and_lint.yml +57 -0
- data/.rubocop.yml +25 -3
- data/.rubocop_todo.yml +59 -1
- data/Appraisals +21 -0
- data/Gemfile +13 -0
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/bin/gempush-if-changed +1 -0
- data/gemfiles/.gitignore +1 -0
- data/gemfiles/rails_5.2.gemfile +17 -0
- data/gemfiles/rails_6.0.gemfile +17 -0
- data/gemfiles/rails_6.1.gemfile +17 -0
- data/gemfiles/rails_7.0.gemfile +17 -0
- data/gemfiles/rails_7.1.gemfile +17 -0
- data/lib/permanent_records/{active_record_5_2.rb → active_record.rb} +9 -13
- data/lib/permanent_records.rb +10 -11
- data/permanent_records.gemspec +6 -16
- metadata +17 -111
- data/.github/workflows/test.yml +0 -32
- data/.travis.yml +0 -11
- data/ci +0 -7
- data/github-actions-test.yml +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67806d4fe7b2381e88902b474ef6a99502412d66aa46c2c52bc62c2d393ab7ad
|
4
|
+
data.tar.gz: d45ca0b6f91a77664b359f36bdb2f4491bac41ad72151256f6178e69bb75a9de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4318dfed3050bebe8f0ee726966b39f6f630151d3e3bcf341a5f2414cb2f42f38e72e9ff5ebb56b9796041a2d89eacf01026c95affe2d13e62c058bf9b9d5789
|
7
|
+
data.tar.gz: d7feabcd4def24cb0bbecf0378acabaa1a1112d9aca9cd1622c20df82b3884d5314ec433a2498a17723765e285d06cd5059fbb566fcacd572e1f019baceaaa2b
|
@@ -12,10 +12,17 @@ jobs:
|
|
12
12
|
|
13
13
|
steps:
|
14
14
|
- uses: actions/checkout@master
|
15
|
-
- name: Set up Ruby 2.6
|
16
|
-
uses: actions/setup-ruby@v1
|
17
15
|
with:
|
18
|
-
|
16
|
+
fetch-depth: 2
|
17
|
+
- name: Set up Ruby 2.7
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.7.8
|
21
|
+
|
22
|
+
- name: Install bundle
|
23
|
+
run: bundle
|
24
|
+
- name: Run rubocop
|
25
|
+
run: bundle exec rubocop
|
19
26
|
|
20
27
|
- name: Publish to RubyGems
|
21
28
|
run: |
|
@@ -0,0 +1,57 @@
|
|
1
|
+
name: Lint & Test
|
2
|
+
|
3
|
+
on: push
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
name: Test
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
ruby:
|
12
|
+
- 2.7.8
|
13
|
+
- 3.0.6
|
14
|
+
- 3.1.4
|
15
|
+
- 3.2.3
|
16
|
+
appraisal:
|
17
|
+
- rails-5.2
|
18
|
+
- rails-6.0
|
19
|
+
- rails-6.1
|
20
|
+
- rails-7.0
|
21
|
+
- rails-7.1
|
22
|
+
exclude:
|
23
|
+
- ruby: 3.0.6
|
24
|
+
appraisal: rails-5.2
|
25
|
+
- ruby: 3.1.4
|
26
|
+
appraisal: rails-5.2
|
27
|
+
- ruby: 3.2.3
|
28
|
+
appraisal: rails-5.2
|
29
|
+
steps:
|
30
|
+
- name: Install system dependencies
|
31
|
+
run: sudo apt-get install -y libsqlite3-dev
|
32
|
+
- uses: actions/checkout@master
|
33
|
+
- name: Setup ruby
|
34
|
+
uses: ruby/setup-ruby@v1
|
35
|
+
with:
|
36
|
+
ruby-version: ${{ matrix.ruby }}
|
37
|
+
- name: Install bundle
|
38
|
+
run: bundle
|
39
|
+
- name: Install appraisal
|
40
|
+
run: bundle exec appraisal install
|
41
|
+
- name: Run tests
|
42
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} rspec
|
43
|
+
lint:
|
44
|
+
name: Lint
|
45
|
+
runs-on: ubuntu-latest
|
46
|
+
steps:
|
47
|
+
- name: Install system dependencies
|
48
|
+
run: sudo apt-get install -y libsqlite3-dev
|
49
|
+
- uses: actions/checkout@master
|
50
|
+
- name: Setup ruby
|
51
|
+
uses: ruby/setup-ruby@v1
|
52
|
+
with:
|
53
|
+
ruby-version: 2.7.8
|
54
|
+
- name: Install bundle
|
55
|
+
run: bundle
|
56
|
+
- name: Run rubocop
|
57
|
+
run: bundle exec rubocop
|
data/.rubocop.yml
CHANGED
@@ -1,17 +1,39 @@
|
|
1
|
-
require:
|
1
|
+
require:
|
2
|
+
- rubocop-performance
|
3
|
+
- rubocop-rake
|
4
|
+
- rubocop-rspec
|
2
5
|
|
3
6
|
inherit_from: .rubocop_todo.yml
|
4
7
|
|
5
8
|
AllCops:
|
6
9
|
Exclude:
|
7
10
|
- bin/*
|
8
|
-
|
11
|
+
- gemfiles/*
|
12
|
+
- vendor/bundle/**/*
|
13
|
+
NewCops: enable
|
14
|
+
TargetRubyVersion: 2.7
|
15
|
+
|
16
|
+
Gemspec/RequireMFA:
|
17
|
+
Exclude:
|
18
|
+
- 'permanent_records.gemspec'
|
9
19
|
|
10
20
|
Metrics/BlockLength:
|
11
21
|
Enabled: false
|
12
22
|
|
13
|
-
|
23
|
+
Layout/LineLength:
|
14
24
|
Max: 120
|
15
25
|
|
26
|
+
RSpec/ContextWording:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
RSpec/MultipleExpectations:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
RSpec/MultipleMemoizedHelpers:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
RSpec/NestedGroups:
|
36
|
+
Enabled: false
|
37
|
+
|
16
38
|
Style/BlockDelimiters:
|
17
39
|
Enabled: false
|
data/.rubocop_todo.yml
CHANGED
@@ -1,7 +1,65 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2024-03-26 14:12:23 UTC using RuboCop version 1.62.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 11
|
10
|
+
RSpec/AnyInstance:
|
11
|
+
Exclude:
|
12
|
+
- 'spec/permanent_records_spec.rb'
|
13
|
+
|
14
|
+
# Offense count: 3
|
15
|
+
# Configuration parameters: CountAsOne.
|
16
|
+
RSpec/ExampleLength:
|
17
|
+
Max: 22
|
18
|
+
|
19
|
+
# Offense count: 5
|
20
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
21
|
+
# Include: **/*_spec*rb*, **/spec/**/*
|
22
|
+
RSpec/FilePath:
|
23
|
+
Exclude:
|
24
|
+
- 'spec/permanent_records/circular_sti_dependency_spec.rb'
|
25
|
+
- 'spec/permanent_records/counter_cache_spec.rb'
|
26
|
+
- 'spec/permanent_records/propagate_validation_flag_spec.rb'
|
27
|
+
- 'spec/permanent_records/revive_parent_first_spec.rb'
|
28
|
+
- 'spec/permanent_records/validate_presence_spec.rb'
|
29
|
+
|
30
|
+
# Offense count: 5
|
31
|
+
RSpec/LetSetup:
|
32
|
+
Exclude:
|
33
|
+
- 'spec/permanent_records/revive_parent_first_spec.rb'
|
34
|
+
- 'spec/permanent_records_spec.rb'
|
35
|
+
|
36
|
+
# Offense count: 1
|
37
|
+
# Configuration parameters: .
|
38
|
+
# SupportedStyles: have_received, receive
|
39
|
+
RSpec/MessageSpies:
|
40
|
+
EnforcedStyle: receive
|
41
|
+
|
42
|
+
# Offense count: 60
|
43
|
+
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
44
|
+
# SupportedStyles: always, named_only
|
45
|
+
RSpec/NamedSubject:
|
46
|
+
Exclude:
|
47
|
+
- 'spec/permanent_records_spec.rb'
|
48
|
+
|
49
|
+
# Offense count: 5
|
50
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
|
51
|
+
# Include: **/*_spec.rb
|
52
|
+
RSpec/SpecFilePathFormat:
|
53
|
+
Exclude:
|
54
|
+
- '**/spec/routing/**/*'
|
55
|
+
- 'spec/permanent_records/circular_sti_dependency_spec.rb'
|
56
|
+
- 'spec/permanent_records/counter_cache_spec.rb'
|
57
|
+
- 'spec/permanent_records/propagate_validation_flag_spec.rb'
|
58
|
+
- 'spec/permanent_records/revive_parent_first_spec.rb'
|
59
|
+
- 'spec/permanent_records/validate_presence_spec.rb'
|
60
|
+
|
61
|
+
# Offense count: 2
|
62
|
+
# This cop supports safe autocorrection (--autocorrect).
|
63
|
+
Rake/Desc:
|
64
|
+
Exclude:
|
65
|
+
- 'Rakefile'
|
data/Appraisals
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
appraise 'rails-5.2' do
|
4
|
+
gem 'rails', '5.2.8.1'
|
5
|
+
end
|
6
|
+
|
7
|
+
appraise 'rails-6.0' do
|
8
|
+
gem 'rails', '6.0.6.1'
|
9
|
+
end
|
10
|
+
|
11
|
+
appraise 'rails-6.1' do
|
12
|
+
gem 'rails', '6.1.7.7'
|
13
|
+
end
|
14
|
+
|
15
|
+
appraise 'rails-7.0' do
|
16
|
+
gem 'rails', '7.0.8.1'
|
17
|
+
end
|
18
|
+
|
19
|
+
appraise 'rails-7.1' do
|
20
|
+
gem 'rails', '7.1.3.2'
|
21
|
+
end
|
data/Gemfile
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gemspec
|
6
|
+
|
7
|
+
gem 'appraisal'
|
8
|
+
gem 'database_cleaner', '>= 1.5.1'
|
9
|
+
gem 'pry-byebug'
|
10
|
+
gem 'rake'
|
11
|
+
gem 'rspec', '>= 3.5.0'
|
12
|
+
gem 'rubocop'
|
13
|
+
gem 'rubocop-performance'
|
14
|
+
gem 'rubocop-rake'
|
15
|
+
gem 'rubocop-rspec'
|
16
|
+
gem 'sqlite3'
|
data/README.md
CHANGED
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
6.0.1
|
data/bin/gempush-if-changed
CHANGED
data/gemfiles/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gemfile.lock
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal"
|
6
|
+
gem "database_cleaner", ">= 1.5.1"
|
7
|
+
gem "pry-byebug"
|
8
|
+
gem "rake"
|
9
|
+
gem "rspec", ">= 3.5.0"
|
10
|
+
gem "rubocop"
|
11
|
+
gem "rubocop-performance"
|
12
|
+
gem "rubocop-rake"
|
13
|
+
gem "rubocop-rspec"
|
14
|
+
gem "sqlite3"
|
15
|
+
gem "rails", "5.2.8.1"
|
16
|
+
|
17
|
+
gemspec path: "../"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal"
|
6
|
+
gem "database_cleaner", ">= 1.5.1"
|
7
|
+
gem "pry-byebug"
|
8
|
+
gem "rake"
|
9
|
+
gem "rspec", ">= 3.5.0"
|
10
|
+
gem "rubocop"
|
11
|
+
gem "rubocop-performance"
|
12
|
+
gem "rubocop-rake"
|
13
|
+
gem "rubocop-rspec"
|
14
|
+
gem "sqlite3"
|
15
|
+
gem "rails", "6.0.6.1"
|
16
|
+
|
17
|
+
gemspec path: "../"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal"
|
6
|
+
gem "database_cleaner", ">= 1.5.1"
|
7
|
+
gem "pry-byebug"
|
8
|
+
gem "rake"
|
9
|
+
gem "rspec", ">= 3.5.0"
|
10
|
+
gem "rubocop"
|
11
|
+
gem "rubocop-performance"
|
12
|
+
gem "rubocop-rake"
|
13
|
+
gem "rubocop-rspec"
|
14
|
+
gem "sqlite3"
|
15
|
+
gem "rails", "6.1.7.7"
|
16
|
+
|
17
|
+
gemspec path: "../"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal"
|
6
|
+
gem "database_cleaner", ">= 1.5.1"
|
7
|
+
gem "pry-byebug"
|
8
|
+
gem "rake"
|
9
|
+
gem "rspec", ">= 3.5.0"
|
10
|
+
gem "rubocop"
|
11
|
+
gem "rubocop-performance"
|
12
|
+
gem "rubocop-rake"
|
13
|
+
gem "rubocop-rspec"
|
14
|
+
gem "sqlite3"
|
15
|
+
gem "rails", "7.0.8.1"
|
16
|
+
|
17
|
+
gemspec path: "../"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "appraisal"
|
6
|
+
gem "database_cleaner", ">= 1.5.1"
|
7
|
+
gem "pry-byebug"
|
8
|
+
gem "rake"
|
9
|
+
gem "rspec", ">= 3.5.0"
|
10
|
+
gem "rubocop"
|
11
|
+
gem "rubocop-performance"
|
12
|
+
gem "rubocop-rake"
|
13
|
+
gem "rubocop-rspec"
|
14
|
+
gem "sqlite3"
|
15
|
+
gem "rails", "7.1.3.2"
|
16
|
+
|
17
|
+
gemspec path: "../"
|
@@ -1,40 +1,36 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Support destroy for rails belongs_to assocations.
|
3
4
|
module HandlePermanentRecordsDestroyedInBelongsToAssociation
|
4
5
|
def handle_dependency
|
5
6
|
return unless load_target
|
6
7
|
|
8
|
+
# only patch :destroy case and delegate to super otherwise
|
7
9
|
case options[:dependent]
|
8
10
|
when :destroy
|
9
11
|
target.destroy
|
10
12
|
raise ActiveRecord::Rollback if target.respond_to?(:deleted?) && !target.deleted?
|
11
13
|
else
|
12
|
-
|
14
|
+
super
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
|
-
#
|
18
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
19
|
-
# Support destroy for rails 5.2. has_on associations.
|
19
|
+
# Support destroy for rails has_one associations.
|
20
20
|
module HandlePermanentRecordsDestroyedInHasOneAssociation
|
21
21
|
def delete(method = options[:dependent])
|
22
22
|
return unless load_target
|
23
23
|
|
24
|
+
# only patch :destroy case and delegate to super otherwise
|
24
25
|
case method
|
25
|
-
when :delete
|
26
|
-
target.delete
|
27
26
|
when :destroy
|
28
27
|
target.destroyed_by_association = reflection
|
29
28
|
target.destroy
|
30
29
|
throw(:abort) if target.respond_to?(:deleted?) && !target.deleted?
|
31
|
-
|
32
|
-
|
30
|
+
else
|
31
|
+
super(method)
|
33
32
|
end
|
34
33
|
end
|
35
34
|
end
|
36
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
37
|
-
# rubocop:enable Metrics/MethodLength
|
38
|
-
# rubocop:enable Metrics/AbcSize
|
39
35
|
ActiveRecord::Associations::BelongsToAssociation.prepend(HandlePermanentRecordsDestroyedInBelongsToAssociation)
|
40
|
-
ActiveRecord::Associations::HasOneAssociation.prepend(HandlePermanentRecordsDestroyedInHasOneAssociation)
|
36
|
+
ActiveRecord::Associations::HasOneAssociation.prepend(HandlePermanentRecordsDestroyedInHasOneAssociation)
|
data/lib/permanent_records.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# PermanentRecords works with ActiveRecord to set deleted_at columns with a
|
2
4
|
# timestamp reflecting when a record was 'deleted' instead of actually deleting
|
3
5
|
# the record. All dependent records and associations are treated exactly as
|
@@ -28,7 +30,7 @@ module PermanentRecords
|
|
28
30
|
|
29
31
|
def deleted?
|
30
32
|
if is_permanent?
|
31
|
-
!!deleted_at
|
33
|
+
!!deleted_at
|
32
34
|
else
|
33
35
|
destroyed?
|
34
36
|
end
|
@@ -97,7 +99,7 @@ module PermanentRecords
|
|
97
99
|
record.save!
|
98
100
|
end
|
99
101
|
|
100
|
-
@attributes = record.instance_variable_get(
|
102
|
+
@attributes = record.instance_variable_get(:@attributes)
|
101
103
|
rescue StandardError => e
|
102
104
|
# trigger dependent record destruction (they were revived before this
|
103
105
|
# record, which cannot be revived due to validations)
|
@@ -141,8 +143,8 @@ module PermanentRecords
|
|
141
143
|
def add_record_window(_request, name, reflection)
|
142
144
|
send(name).unscope(where: :deleted_at).where(
|
143
145
|
[
|
144
|
-
"#{reflection.klass.quoted_table_name}.deleted_at > ?" \
|
145
|
-
'
|
146
|
+
"#{reflection.klass.quoted_table_name}.deleted_at > ? " \
|
147
|
+
'AND ' \
|
146
148
|
"#{reflection.klass.quoted_table_name}.deleted_at < ?",
|
147
149
|
deleted_at - PermanentRecords.dependent_record_window,
|
148
150
|
deleted_at + PermanentRecords.dependent_record_window
|
@@ -177,7 +179,7 @@ module PermanentRecords
|
|
177
179
|
|
178
180
|
def attempt_notifying_observers(callback)
|
179
181
|
notify_observers(callback)
|
180
|
-
rescue NoMethodError
|
182
|
+
rescue NoMethodError
|
181
183
|
# do nothing: this model isn't being observed
|
182
184
|
end
|
183
185
|
|
@@ -215,7 +217,7 @@ module PermanentRecords
|
|
215
217
|
record = klass.unscoped.where(klass.primary_key => id).first
|
216
218
|
next unless record
|
217
219
|
|
218
|
-
record.deleted_at = nil
|
220
|
+
record.deleted_at = nil if record.respond_to?(:deleted_at)
|
219
221
|
record.destroy(:force)
|
220
222
|
end
|
221
223
|
end
|
@@ -279,9 +281,6 @@ module PermanentRecords
|
|
279
281
|
end
|
280
282
|
|
281
283
|
ActiveSupport.on_load(:active_record) do
|
282
|
-
ActiveRecord::Base.
|
283
|
-
|
284
|
-
if [ActiveRecord::VERSION::MAJOR, ActiveRecord::VERSION::MINOR] == [5, 2] || ActiveRecord::VERSION::MAJOR > 5
|
285
|
-
require 'permanent_records/active_record_5_2'
|
286
|
-
end
|
284
|
+
ActiveRecord::Base.include PermanentRecords::ActiveRecord
|
285
|
+
require 'permanent_records/active_record'
|
287
286
|
end
|
data/permanent_records.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = 'permanent_records'
|
3
5
|
s.version = File.read('VERSION')
|
@@ -12,27 +14,15 @@ Gem::Specification.new do |s|
|
|
12
14
|
gives you all the scopes you need to work with your data.
|
13
15
|
DESCRIPTION
|
14
16
|
s.email = 'github@jackcanty.com'
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
'LICENSE',
|
17
|
-
'README.md'
|
18
|
-
]
|
17
|
+
s.extra_rdoc_files = %w[LICENSE README.md]
|
19
18
|
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
19
|
f.match(%r{^(test|spec|features)/})
|
21
20
|
end
|
22
21
|
s.homepage = 'https://github.com/JackDanger/permanent_records'
|
23
22
|
s.require_paths = ['lib']
|
24
23
|
|
25
|
-
|
26
|
-
ver = ENV['AR_TEST_VERSION']
|
27
|
-
ver = ver.dup.chomp if ver
|
24
|
+
s.required_ruby_version = '>= 2.7.8'
|
28
25
|
|
29
|
-
s.add_runtime_dependency 'activerecord',
|
30
|
-
s.add_runtime_dependency 'activesupport',
|
31
|
-
s.add_development_dependency 'database_cleaner', '>= 1.5.1'
|
32
|
-
s.add_development_dependency 'pry-byebug'
|
33
|
-
s.add_development_dependency 'rake' # For Travis-ci
|
34
|
-
s.add_development_dependency 'rspec', '>= 3.5.0'
|
35
|
-
s.add_development_dependency 'rubocop', '~> 0.68.0' # freeze to ensure ruby 2.2 compatibility
|
36
|
-
s.add_development_dependency 'rubocop-performance'
|
37
|
-
s.add_development_dependency 'sqlite3', '~> 1.3.13' # freeze to ensure specs are working
|
26
|
+
s.add_runtime_dependency 'activerecord', '>= 5.2'
|
27
|
+
s.add_runtime_dependency 'activesupport', '>= 5.2'
|
38
28
|
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
|
+
version: 6.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Danger Canty
|
@@ -17,7 +17,7 @@ authors:
|
|
17
17
|
autorequire:
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
|
-
date:
|
20
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: activerecord
|
@@ -25,126 +25,28 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 5.
|
28
|
+
version: '5.2'
|
29
29
|
type: :runtime
|
30
30
|
prerelease: false
|
31
31
|
version_requirements: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 5.
|
35
|
+
version: '5.2'
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
38
|
requirement: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 5.
|
42
|
+
version: '5.2'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 5.
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: database_cleaner
|
52
|
-
requirement: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 1.5.1
|
57
|
-
type: :development
|
58
|
-
prerelease: false
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 1.5.1
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: pry-byebug
|
66
|
-
requirement: !ruby/object:Gem::Requirement
|
67
|
-
requirements:
|
68
|
-
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: '0'
|
71
|
-
type: :development
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - ">="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rake
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '0'
|
85
|
-
type: :development
|
86
|
-
prerelease: false
|
87
|
-
version_requirements: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '0'
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: rspec
|
94
|
-
requirement: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 3.5.0
|
99
|
-
type: :development
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: 3.5.0
|
106
|
-
- !ruby/object:Gem::Dependency
|
107
|
-
name: rubocop
|
108
|
-
requirement: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - "~>"
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 0.68.0
|
113
|
-
type: :development
|
114
|
-
prerelease: false
|
115
|
-
version_requirements: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - "~>"
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: 0.68.0
|
120
|
-
- !ruby/object:Gem::Dependency
|
121
|
-
name: rubocop-performance
|
122
|
-
requirement: !ruby/object:Gem::Requirement
|
123
|
-
requirements:
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: '0'
|
127
|
-
type: :development
|
128
|
-
prerelease: false
|
129
|
-
version_requirements: !ruby/object:Gem::Requirement
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
134
|
-
- !ruby/object:Gem::Dependency
|
135
|
-
name: sqlite3
|
136
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
-
requirements:
|
138
|
-
- - "~>"
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
version: 1.3.13
|
141
|
-
type: :development
|
142
|
-
prerelease: false
|
143
|
-
version_requirements: !ruby/object:Gem::Requirement
|
144
|
-
requirements:
|
145
|
-
- - "~>"
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: 1.3.13
|
49
|
+
version: '5.2'
|
148
50
|
description: |2
|
149
51
|
Never Lose Data. Rather than deleting rows this sets Record#deleted_at and
|
150
52
|
gives you all the scopes you need to work with your data.
|
@@ -157,11 +59,11 @@ extra_rdoc_files:
|
|
157
59
|
files:
|
158
60
|
- ".document"
|
159
61
|
- ".github/workflows/gempush.yml"
|
160
|
-
- ".github/workflows/
|
62
|
+
- ".github/workflows/test_and_lint.yml"
|
161
63
|
- ".gitignore"
|
162
64
|
- ".rubocop.yml"
|
163
65
|
- ".rubocop_todo.yml"
|
164
|
-
-
|
66
|
+
- Appraisals
|
165
67
|
- CODE_OF_CONDUCT.md
|
166
68
|
- CONTRIBUTORS.md
|
167
69
|
- Gemfile
|
@@ -172,10 +74,14 @@ files:
|
|
172
74
|
- VERSION
|
173
75
|
- bin/gempush-if-changed
|
174
76
|
- bin/rspec
|
175
|
-
-
|
176
|
-
-
|
77
|
+
- gemfiles/.gitignore
|
78
|
+
- gemfiles/rails_5.2.gemfile
|
79
|
+
- gemfiles/rails_6.0.gemfile
|
80
|
+
- gemfiles/rails_6.1.gemfile
|
81
|
+
- gemfiles/rails_7.0.gemfile
|
82
|
+
- gemfiles/rails_7.1.gemfile
|
177
83
|
- lib/permanent_records.rb
|
178
|
-
- lib/permanent_records/
|
84
|
+
- lib/permanent_records/active_record.rb
|
179
85
|
- permanent_records.gemspec
|
180
86
|
homepage: https://github.com/JackDanger/permanent_records
|
181
87
|
licenses:
|
@@ -189,14 +95,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
189
95
|
requirements:
|
190
96
|
- - ">="
|
191
97
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
98
|
+
version: 2.7.8
|
193
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
100
|
requirements:
|
195
101
|
- - ">="
|
196
102
|
- !ruby/object:Gem::Version
|
197
103
|
version: '0'
|
198
104
|
requirements: []
|
199
|
-
rubygems_version: 3.
|
105
|
+
rubygems_version: 3.1.6
|
200
106
|
signing_key:
|
201
107
|
specification_version: 4
|
202
108
|
summary: Soft-delete your ActiveRecord records
|
data/.github/workflows/test.yml
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
name: Tests
|
2
|
-
|
3
|
-
on: push
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
ci:
|
7
|
-
name: CI
|
8
|
-
runs-on: ubuntu-latest
|
9
|
-
strategy:
|
10
|
-
matrix:
|
11
|
-
ruby:
|
12
|
-
- '2.3.x'
|
13
|
-
- '2.4.x'
|
14
|
-
- '2.5.x'
|
15
|
-
- '2.6.x'
|
16
|
-
rails:
|
17
|
-
- '5.0.7.2'
|
18
|
-
- '5.1.7'
|
19
|
-
- '5.2.3'
|
20
|
-
steps:
|
21
|
-
- name: Install system dependencies
|
22
|
-
run: sudo apt-get install -y libsqlite3-dev
|
23
|
-
- uses: actions/checkout@master
|
24
|
-
- name: Setup ruby
|
25
|
-
uses: actions/setup-ruby@v1
|
26
|
-
with:
|
27
|
-
ruby-version: ${{ matrix.ruby }}
|
28
|
-
architecture: 'x64'
|
29
|
-
- run: gem install bundler && bundle && bundle exec rake
|
30
|
-
env:
|
31
|
-
AR_TEST_VERSION: ${{ matrix.rails }}
|
32
|
-
|
data/.travis.yml
DELETED
data/ci
DELETED
data/github-actions-test.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
.github/workflows/test.yml
|