zombie_record 1.3.1 → 1.4.3

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
- SHA1:
3
- metadata.gz: eea378400a5d0ed7e8fca681c1a9c8d3930729db
4
- data.tar.gz: 0de41938e4b71a6460241fa1be73d53daa5db4c1
2
+ SHA256:
3
+ metadata.gz: 567fd4185a47b61239b7d1df1f03a9b328d2085c8b08d284fea984b461245c28
4
+ data.tar.gz: efdb86ade001fb7117741b566f1c53bfdb2af32ebd9969d36998e88db09f2928
5
5
  SHA512:
6
- metadata.gz: 68b89647924130a7a41d14b8881dcbff500935179a4fd73d9b010cf75332c29e0e997dc558af443d13fd34e8d513a1d5251b2cede37cefecf6887bd2235a35b1
7
- data.tar.gz: e8af2f78981866fbe8bbad28c2fb71ebc1cdf29ac6ff4538edb7d7cc417b705db3e2224c454f6f4a3624ff1647a6b37becaddf6e5d99f2c2764c4bd2c5e38cb0
6
+ metadata.gz: aa9fb539d0ffa90d758cb91220a8bff3ff8210d8071a48b3e751b14d9601740f483b27899429c38d47291f1f367cbfe99f73beb971a5f850946935902601250f
7
+ data.tar.gz: 72fb282d7a5f6c00fc84927044beaafe53f76024426f78a91b4bb25d111104fad215075f1f7c57630c56c18b655381258e6c71678b0b5afc2ede1c546e44e77b
@@ -0,0 +1,49 @@
1
+ name: CI
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ specs:
7
+ runs-on: ubuntu-latest
8
+
9
+ services:
10
+ mysql:
11
+ image: mysql:5.7
12
+ ports:
13
+ - 3306:3306
14
+ env:
15
+ MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
16
+ options: >-
17
+ --health-cmd "mysqladmin ping -h localhost"
18
+ --health-interval 5s
19
+ --health-timeout 3s
20
+
21
+ strategy:
22
+ matrix:
23
+ ruby-version:
24
+ - 2.4
25
+ - 2.5
26
+ - 2.6
27
+ gemfile:
28
+ - rails4.2
29
+ - rails5.0
30
+ - rails5.1
31
+ - rails5.2
32
+ - rails6.0
33
+ - rails6.1
34
+ exclude:
35
+ - ruby-version: 2.4
36
+ gemfile: rails6.0
37
+ - ruby-version: 2.4
38
+ gemfile: rails6.1
39
+ env:
40
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
41
+ steps:
42
+ - uses: zendesk/checkout@v2
43
+ - name: Set up Ruby
44
+ uses: zendesk/setup-ruby@v1
45
+ with:
46
+ ruby-version: ${{ matrix.ruby-version }}
47
+ bundler-cache: true
48
+ - name: RSpec
49
+ run: bundle exec rspec
data/.gitignore CHANGED
@@ -3,7 +3,7 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
6
+ /Gemfile.lock
7
7
  InstalledFiles
8
8
  _yardoc
9
9
  coverage
@@ -1,5 +1,31 @@
1
1
  ###### Unreleased
2
2
 
3
+ ###### v1.4.3
4
+
5
+ * Drop support for Ruby 2.2 and 2.3.
6
+ * Drop support for Rails 4.1.
7
+ * Test against Rails 6.0 and 6.1.
8
+
9
+ ###### v1.4.2
10
+
11
+ * Test against Rails 5.2 final.
12
+
13
+ ###### v1.4.1
14
+
15
+ * Test against Rails 5.2.
16
+ * Test against Ruby 2.5.
17
+ * Don't implement `respond_to_missing?` when implementing `method_missing` or it
18
+ won't work on Ruby 2.5.0. Truly confusing.
19
+
20
+ ###### v1.4.0
21
+
22
+ * Test against Rails 5.1.
23
+
24
+ ###### v1.3.2
25
+
26
+ * Implement `respond_to_missing?` when implementing `method_missing` or it
27
+ won't work on Ruby 2.3.0.
28
+
3
29
  ###### v1.3.1
4
30
 
5
31
  * Fix a `to_a` vs `records` bug for Rails 5.0.
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Allows restoring your Active Records from the dead!
4
4
 
5
- [![Build Status](https://travis-ci.org/zendesk/zombie_record.svg?branch=master)](https://travis-ci.org/zendesk/zombie_record)
5
+ [![Build Status](https://github.com/zendesk/zombie_record/workflows/CI/badge.svg)](https://github.com/zendesk/zombie_record/actions?query=workflow%3ACI)
6
6
 
7
7
  ## Installation
8
8
 
data/Rakefile CHANGED
@@ -1,8 +1,2 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
- require "wwtd/tasks"
4
2
  require "bump/tasks"
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task :default => "wwtd:local"
@@ -3,3 +3,4 @@ source 'https://rubygems.org'
3
3
  gemspec path: "../"
4
4
 
5
5
  gem "activerecord", "~> 4.2.0"
6
+ gem "mysql2", "~> 0.4.0"
@@ -1,63 +1,68 @@
1
1
  PATH
2
- remote: ../
2
+ remote: ..
3
3
  specs:
4
- zombie_record (1.3.1)
5
- activerecord (>= 4.0, < 5.1)
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
6
  mysql2
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activemodel (4.2.5)
12
- activesupport (= 4.2.5)
11
+ activemodel (4.2.11.3)
12
+ activesupport (= 4.2.11.3)
13
13
  builder (~> 3.1)
14
- activerecord (4.2.5)
15
- activemodel (= 4.2.5)
16
- activesupport (= 4.2.5)
14
+ activerecord (4.2.11.3)
15
+ activemodel (= 4.2.11.3)
16
+ activesupport (= 4.2.11.3)
17
17
  arel (~> 6.0)
18
- activesupport (4.2.5)
18
+ activesupport (4.2.11.3)
19
19
  i18n (~> 0.7)
20
- json (~> 1.7, >= 1.7.7)
21
20
  minitest (~> 5.1)
22
21
  thread_safe (~> 0.3, >= 0.3.4)
23
22
  tzinfo (~> 1.1)
24
- arel (6.0.3)
25
- builder (3.2.2)
26
- bump (0.5.3)
27
- byebug (8.2.1)
28
- diff-lcs (1.2.5)
29
- i18n (0.7.0)
30
- json (1.8.3)
31
- minitest (5.8.3)
32
- mysql2 (0.4.2)
33
- rake (10.4.2)
34
- rspec (2.14.1)
35
- rspec-core (~> 2.14.0)
36
- rspec-expectations (~> 2.14.0)
37
- rspec-mocks (~> 2.14.0)
38
- rspec-core (2.14.8)
39
- rspec-expectations (2.14.5)
40
- diff-lcs (>= 1.1.3, < 2.0)
41
- rspec-mocks (2.14.6)
42
- thread_safe (0.3.5)
43
- timecop (0.7.4)
44
- tzinfo (1.2.2)
23
+ arel (6.0.4)
24
+ builder (3.2.4)
25
+ bump (0.10.0)
26
+ byebug (11.1.3)
27
+ concurrent-ruby (1.1.7)
28
+ diff-lcs (1.4.4)
29
+ i18n (0.9.5)
30
+ concurrent-ruby (~> 1.0)
31
+ minitest (5.14.2)
32
+ mysql2 (0.4.10)
33
+ rake (13.0.3)
34
+ rspec (3.10.0)
35
+ rspec-core (~> 3.10.0)
36
+ rspec-expectations (~> 3.10.0)
37
+ rspec-mocks (~> 3.10.0)
38
+ rspec-core (3.10.1)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-expectations (3.10.1)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.10.0)
43
+ rspec-mocks (3.10.1)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.10.0)
46
+ rspec-support (3.10.1)
47
+ thread_safe (0.3.6)
48
+ timecop (0.9.2)
49
+ tzinfo (1.2.9)
45
50
  thread_safe (~> 0.1)
46
- wwtd (1.3.0)
47
51
 
48
52
  PLATFORMS
49
- ruby
53
+ x86_64-darwin-19
54
+ x86_64-linux
50
55
 
51
56
  DEPENDENCIES
52
57
  activerecord (~> 4.2.0)
53
58
  bump
54
- bundler (~> 1.3)
59
+ bundler
55
60
  byebug
61
+ mysql2 (~> 0.4.0)
56
62
  rake
57
- rspec (~> 2.14.1)
58
- timecop (~> 0.7.0)
59
- wwtd (>= 0.5.3)
63
+ rspec (~> 3.5)
64
+ timecop
60
65
  zombie_record!
61
66
 
62
67
  BUNDLED WITH
63
- 1.11.2
68
+ 2.2.3
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec path: "../"
4
4
 
5
- gem "activerecord", "~> 5.0.0.beta3"
5
+ gem "activerecord", "~> 5.0.0"
@@ -1,60 +1,65 @@
1
1
  PATH
2
- remote: ../
2
+ remote: ..
3
3
  specs:
4
- zombie_record (1.3.1)
5
- activerecord (>= 4.0, < 5.1)
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
6
  mysql2
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activemodel (5.0.0.beta3)
12
- activesupport (= 5.0.0.beta3)
13
- activerecord (5.0.0.beta3)
14
- activemodel (= 5.0.0.beta3)
15
- activesupport (= 5.0.0.beta3)
11
+ activemodel (5.0.7.2)
12
+ activesupport (= 5.0.7.2)
13
+ activerecord (5.0.7.2)
14
+ activemodel (= 5.0.7.2)
15
+ activesupport (= 5.0.7.2)
16
16
  arel (~> 7.0)
17
- activesupport (5.0.0.beta3)
18
- concurrent-ruby (~> 1.0)
19
- i18n (~> 0.7)
17
+ activesupport (5.0.7.2)
18
+ concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ i18n (>= 0.7, < 2)
20
20
  minitest (~> 5.1)
21
21
  tzinfo (~> 1.1)
22
- arel (7.0.0)
23
- bump (0.5.3)
24
- byebug (8.2.1)
25
- concurrent-ruby (1.0.1)
26
- diff-lcs (1.2.5)
27
- i18n (0.7.0)
28
- minitest (5.8.4)
29
- mysql2 (0.4.2)
30
- rake (10.4.2)
31
- rspec (2.14.1)
32
- rspec-core (~> 2.14.0)
33
- rspec-expectations (~> 2.14.0)
34
- rspec-mocks (~> 2.14.0)
35
- rspec-core (2.14.8)
36
- rspec-expectations (2.14.5)
37
- diff-lcs (>= 1.1.3, < 2.0)
38
- rspec-mocks (2.14.6)
39
- thread_safe (0.3.5)
40
- timecop (0.7.4)
41
- tzinfo (1.2.2)
22
+ arel (7.1.4)
23
+ bump (0.10.0)
24
+ byebug (11.1.3)
25
+ concurrent-ruby (1.1.7)
26
+ diff-lcs (1.4.4)
27
+ i18n (1.8.5)
28
+ concurrent-ruby (~> 1.0)
29
+ minitest (5.14.2)
30
+ mysql2 (0.5.3)
31
+ rake (13.0.3)
32
+ rspec (3.10.0)
33
+ rspec-core (~> 3.10.0)
34
+ rspec-expectations (~> 3.10.0)
35
+ rspec-mocks (~> 3.10.0)
36
+ rspec-core (3.10.1)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-expectations (3.10.1)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-mocks (3.10.1)
42
+ diff-lcs (>= 1.2.0, < 2.0)
43
+ rspec-support (~> 3.10.0)
44
+ rspec-support (3.10.1)
45
+ thread_safe (0.3.6)
46
+ timecop (0.9.2)
47
+ tzinfo (1.2.9)
42
48
  thread_safe (~> 0.1)
43
- wwtd (1.3.0)
44
49
 
45
50
  PLATFORMS
46
- ruby
51
+ x86_64-darwin-19
52
+ x86_64-linux
47
53
 
48
54
  DEPENDENCIES
49
- activerecord (~> 5.0.0.beta3)
55
+ activerecord (~> 5.0.0)
50
56
  bump
51
- bundler (~> 1.3)
57
+ bundler
52
58
  byebug
53
59
  rake
54
- rspec (~> 2.14.1)
55
- timecop (~> 0.7.0)
56
- wwtd (>= 0.5.3)
60
+ rspec (~> 3.5)
61
+ timecop
57
62
  zombie_record!
58
63
 
59
64
  BUNDLED WITH
60
- 1.11.2
65
+ 2.2.3
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: "../"
4
+
5
+ gem "activerecord", "~> 5.1.0"
@@ -0,0 +1,65 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
+ mysql2
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (5.1.7)
12
+ activesupport (= 5.1.7)
13
+ activerecord (5.1.7)
14
+ activemodel (= 5.1.7)
15
+ activesupport (= 5.1.7)
16
+ arel (~> 8.0)
17
+ activesupport (5.1.7)
18
+ concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ i18n (>= 0.7, < 2)
20
+ minitest (~> 5.1)
21
+ tzinfo (~> 1.1)
22
+ arel (8.0.0)
23
+ bump (0.10.0)
24
+ byebug (11.1.3)
25
+ concurrent-ruby (1.1.7)
26
+ diff-lcs (1.4.4)
27
+ i18n (1.8.5)
28
+ concurrent-ruby (~> 1.0)
29
+ minitest (5.14.2)
30
+ mysql2 (0.5.3)
31
+ rake (13.0.3)
32
+ rspec (3.10.0)
33
+ rspec-core (~> 3.10.0)
34
+ rspec-expectations (~> 3.10.0)
35
+ rspec-mocks (~> 3.10.0)
36
+ rspec-core (3.10.1)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-expectations (3.10.1)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-mocks (3.10.1)
42
+ diff-lcs (>= 1.2.0, < 2.0)
43
+ rspec-support (~> 3.10.0)
44
+ rspec-support (3.10.1)
45
+ thread_safe (0.3.6)
46
+ timecop (0.9.2)
47
+ tzinfo (1.2.9)
48
+ thread_safe (~> 0.1)
49
+
50
+ PLATFORMS
51
+ x86_64-darwin-19
52
+ x86_64-linux
53
+
54
+ DEPENDENCIES
55
+ activerecord (~> 5.1.0)
56
+ bump
57
+ bundler
58
+ byebug
59
+ rake
60
+ rspec (~> 3.5)
61
+ timecop
62
+ zombie_record!
63
+
64
+ BUNDLED WITH
65
+ 2.2.3
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: "../"
4
+
5
+ gem "activerecord", "~> 5.2.0"
@@ -0,0 +1,65 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
+ mysql2
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (5.2.4.4)
12
+ activesupport (= 5.2.4.4)
13
+ activerecord (5.2.4.4)
14
+ activemodel (= 5.2.4.4)
15
+ activesupport (= 5.2.4.4)
16
+ arel (>= 9.0)
17
+ activesupport (5.2.4.4)
18
+ concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ i18n (>= 0.7, < 2)
20
+ minitest (~> 5.1)
21
+ tzinfo (~> 1.1)
22
+ arel (9.0.0)
23
+ bump (0.10.0)
24
+ byebug (11.1.3)
25
+ concurrent-ruby (1.1.7)
26
+ diff-lcs (1.4.4)
27
+ i18n (1.8.5)
28
+ concurrent-ruby (~> 1.0)
29
+ minitest (5.14.2)
30
+ mysql2 (0.5.3)
31
+ rake (13.0.3)
32
+ rspec (3.10.0)
33
+ rspec-core (~> 3.10.0)
34
+ rspec-expectations (~> 3.10.0)
35
+ rspec-mocks (~> 3.10.0)
36
+ rspec-core (3.10.1)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-expectations (3.10.1)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-mocks (3.10.1)
42
+ diff-lcs (>= 1.2.0, < 2.0)
43
+ rspec-support (~> 3.10.0)
44
+ rspec-support (3.10.1)
45
+ thread_safe (0.3.6)
46
+ timecop (0.9.2)
47
+ tzinfo (1.2.9)
48
+ thread_safe (~> 0.1)
49
+
50
+ PLATFORMS
51
+ x86_64-darwin-19
52
+ x86_64-linux
53
+
54
+ DEPENDENCIES
55
+ activerecord (~> 5.2.0)
56
+ bump
57
+ bundler
58
+ byebug
59
+ rake
60
+ rspec (~> 3.5)
61
+ timecop
62
+ zombie_record!
63
+
64
+ BUNDLED WITH
65
+ 2.2.3
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: "../"
4
+
5
+ gem "activerecord", "~> 6.0.0"
@@ -0,0 +1,65 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
+ mysql2
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (6.0.3.4)
12
+ activesupport (= 6.0.3.4)
13
+ activerecord (6.0.3.4)
14
+ activemodel (= 6.0.3.4)
15
+ activesupport (= 6.0.3.4)
16
+ activesupport (6.0.3.4)
17
+ concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ i18n (>= 0.7, < 2)
19
+ minitest (~> 5.1)
20
+ tzinfo (~> 1.1)
21
+ zeitwerk (~> 2.2, >= 2.2.2)
22
+ bump (0.10.0)
23
+ byebug (11.1.3)
24
+ concurrent-ruby (1.1.7)
25
+ diff-lcs (1.4.4)
26
+ i18n (1.8.5)
27
+ concurrent-ruby (~> 1.0)
28
+ minitest (5.14.2)
29
+ mysql2 (0.5.3)
30
+ rake (13.0.3)
31
+ rspec (3.10.0)
32
+ rspec-core (~> 3.10.0)
33
+ rspec-expectations (~> 3.10.0)
34
+ rspec-mocks (~> 3.10.0)
35
+ rspec-core (3.10.1)
36
+ rspec-support (~> 3.10.0)
37
+ rspec-expectations (3.10.1)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-mocks (3.10.1)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.10.0)
43
+ rspec-support (3.10.1)
44
+ thread_safe (0.3.6)
45
+ timecop (0.9.2)
46
+ tzinfo (1.2.9)
47
+ thread_safe (~> 0.1)
48
+ zeitwerk (2.4.2)
49
+
50
+ PLATFORMS
51
+ x86_64-darwin-19
52
+ x86_64-linux
53
+
54
+ DEPENDENCIES
55
+ activerecord (~> 6.0.0)
56
+ bump
57
+ bundler
58
+ byebug
59
+ rake
60
+ rspec (~> 3.5)
61
+ timecop
62
+ zombie_record!
63
+
64
+ BUNDLED WITH
65
+ 2.2.3
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: "../"
4
+
5
+ gem "activerecord", "~> 6.1.0"
@@ -0,0 +1,64 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ zombie_record (1.4.3)
5
+ activerecord (>= 4.2, < 6.2)
6
+ mysql2
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (6.1.0)
12
+ activesupport (= 6.1.0)
13
+ activerecord (6.1.0)
14
+ activemodel (= 6.1.0)
15
+ activesupport (= 6.1.0)
16
+ activesupport (6.1.0)
17
+ concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ i18n (>= 1.6, < 2)
19
+ minitest (>= 5.1)
20
+ tzinfo (~> 2.0)
21
+ zeitwerk (~> 2.3)
22
+ bump (0.10.0)
23
+ byebug (11.1.3)
24
+ concurrent-ruby (1.1.7)
25
+ diff-lcs (1.4.4)
26
+ i18n (1.8.5)
27
+ concurrent-ruby (~> 1.0)
28
+ minitest (5.14.2)
29
+ mysql2 (0.5.3)
30
+ rake (13.0.3)
31
+ rspec (3.10.0)
32
+ rspec-core (~> 3.10.0)
33
+ rspec-expectations (~> 3.10.0)
34
+ rspec-mocks (~> 3.10.0)
35
+ rspec-core (3.10.1)
36
+ rspec-support (~> 3.10.0)
37
+ rspec-expectations (3.10.1)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-mocks (3.10.1)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.10.0)
43
+ rspec-support (3.10.1)
44
+ timecop (0.9.2)
45
+ tzinfo (2.0.4)
46
+ concurrent-ruby (~> 1.0)
47
+ zeitwerk (2.4.2)
48
+
49
+ PLATFORMS
50
+ x86_64-darwin-19
51
+ x86_64-linux
52
+
53
+ DEPENDENCIES
54
+ activerecord (~> 6.1.0)
55
+ bump
56
+ bundler
57
+ byebug
58
+ rake
59
+ rspec (~> 3.5)
60
+ timecop
61
+ zombie_record!
62
+
63
+ BUNDLED WITH
64
+ 2.2.3
@@ -172,15 +172,9 @@ module ZombieRecord
172
172
  #
173
173
  # Returns an ActiveRecord::Relation.
174
174
  def with_deleted
175
- if ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR == 0
176
- all.
177
- tap {|relation| relation.default_scoped = false }.
178
- extending(WithDeletedAssociationsWrapper)
179
- else
180
- all.
181
- unscope(where: :deleted_at).
182
- extending(WithDeletedAssociationsWrapper)
183
- end
175
+ all.
176
+ unscope(where: :deleted_at).
177
+ extending(WithDeletedAssociationsWrapper)
184
178
  end
185
179
  end
186
180
  end
@@ -1,3 +1,3 @@
1
1
  module ZombieRecord
2
- VERSION = "1.3.1"
2
+ VERSION = "1.4.3"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe ZombieRecord::Restorable do
3
+ RSpec.describe ZombieRecord::Restorable do
4
4
  context "when the record is deleted" do
5
5
  it "allows accessing a deleted has_one association" do
6
6
  book = Book.create!
@@ -9,7 +9,7 @@ describe ZombieRecord::Restorable do
9
9
  book.destroy
10
10
  book = Book.with_deleted.first
11
11
 
12
- book.cover.should_not be_nil
12
+ expect(book.cover).not_to be_nil
13
13
  end
14
14
 
15
15
  it "allows accessing deleted belongs_to associations" do
@@ -19,7 +19,7 @@ describe ZombieRecord::Restorable do
19
19
  book.destroy
20
20
  chapter = Chapter.with_deleted.first
21
21
 
22
- chapter.book.should == book
22
+ expect(chapter.book).to eq(book)
23
23
  end
24
24
 
25
25
  it "allows accessing deleted polymorphic belongs_to associations" do
@@ -29,7 +29,7 @@ describe ZombieRecord::Restorable do
29
29
  tag.destroy
30
30
  tag = Tag.with_deleted.first
31
31
 
32
- tag.taggable.should == book
32
+ expect(tag.taggable).to eq(book)
33
33
  end
34
34
 
35
35
  it "ensures deleted associations themselves allow access to deleted records" do
@@ -40,10 +40,10 @@ describe ZombieRecord::Restorable do
40
40
  book.destroy
41
41
  bookmark = Bookmark.with_deleted.first
42
42
 
43
- bookmark.book.chapters.should == [chapter]
43
+ expect(bookmark.book.chapters).to eq([chapter])
44
44
  chapter = bookmark.book.chapters.first
45
45
 
46
- chapter.book.should == book
46
+ expect(chapter.book).to eq(book)
47
47
  end
48
48
 
49
49
  it "forwards normal method calls" do
@@ -51,7 +51,16 @@ describe ZombieRecord::Restorable do
51
51
  book.destroy
52
52
  book = Book.with_deleted.first
53
53
 
54
- book.title.should == "The Odyssey"
54
+ expect(book.title).to eq("The Odyssey")
55
+ end
56
+
57
+ it "forwards to_ary" do
58
+ book = Book.create!(title: "The Odyssey")
59
+ book.destroy
60
+ book = Book.with_deleted.first
61
+
62
+ # #flatten will implicitly call #to_ary
63
+ expect([[[book]]].flatten).to eq([book])
55
64
  end
56
65
  end
57
66
 
@@ -62,7 +71,7 @@ describe ZombieRecord::Restorable do
62
71
 
63
72
  book1.destroy
64
73
 
65
- Book.deleted.should == [book1]
74
+ expect(Book.deleted).to eq([book1])
66
75
  end
67
76
 
68
77
  it "respects associations" do
@@ -73,7 +82,7 @@ describe ZombieRecord::Restorable do
73
82
  book.destroy
74
83
  other_book.destroy
75
84
 
76
- author.books.deleted.should == [book]
85
+ expect(author.books.deleted).to eq([book])
77
86
  end
78
87
  end
79
88
 
@@ -84,7 +93,7 @@ describe ZombieRecord::Restorable do
84
93
 
85
94
  book.destroy
86
95
 
87
- book.updated_at.should_not == updated_at
96
+ expect(book.updated_at).not_to eq(updated_at)
88
97
  end
89
98
 
90
99
  it "does not set #updated_at if it is not defined" do
@@ -112,7 +121,7 @@ describe ZombieRecord::Restorable do
112
121
  book.destroy
113
122
 
114
123
  deleted_book.restore!
115
- deleted_book.deleted_at.should be_nil
124
+ expect(deleted_book.deleted_at).to be_nil
116
125
  end
117
126
 
118
127
  it "also restores restorable has_many associated records" do
@@ -122,7 +131,7 @@ describe ZombieRecord::Restorable do
122
131
  deleted_book.restore!
123
132
 
124
133
  deleted_chapter = Chapter.with_deleted.find(chapter.id)
125
- deleted_chapter.deleted_at.should be_nil
134
+ expect(deleted_chapter.deleted_at).to be_nil
126
135
  end
127
136
 
128
137
  it "also restores restorable has_one associated records" do
@@ -132,7 +141,7 @@ describe ZombieRecord::Restorable do
132
141
  deleted_book.restore!
133
142
 
134
143
  deleted_cover = Cover.with_deleted.find(cover.id)
135
- deleted_cover.deleted_at.should be_nil
144
+ expect(deleted_cover.deleted_at).to be_nil
136
145
  end
137
146
 
138
147
  it "also restores restorable belongs_to associated records" do
@@ -143,7 +152,7 @@ describe ZombieRecord::Restorable do
143
152
  deleted_book.restore!
144
153
 
145
154
  deleted_author = Author.with_deleted.find(author.id)
146
- deleted_author.deleted_at.should be_nil
155
+ expect(deleted_author.deleted_at).to be_nil
147
156
  end
148
157
 
149
158
  it "does not restore hard deleted associated records" do
@@ -152,7 +161,7 @@ describe ZombieRecord::Restorable do
152
161
  book.destroy
153
162
  deleted_book.restore!
154
163
 
155
- Note.where(id: note.id).should_not exist
164
+ expect(Note.where(id: note.id)).not_to exist
156
165
  end
157
166
 
158
167
  it "does not restore an association if it is not destroy dependent" do
@@ -164,7 +173,7 @@ describe ZombieRecord::Restorable do
164
173
  deleted_book.restore!
165
174
 
166
175
  library_after_deletion = Library.with_deleted.find(library.id)
167
- library_after_deletion.deleted_at.should_not be_nil
176
+ expect(library_after_deletion.deleted_at).not_to be_nil
168
177
  end
169
178
 
170
179
  it "fails if the object itself has been destroyed" do
@@ -180,11 +189,11 @@ describe ZombieRecord::Restorable do
180
189
  it "returns true if the record is deleted" do
181
190
  book.destroy
182
191
 
183
- book.should be_deleted
192
+ expect(book).to be_deleted
184
193
  end
185
194
 
186
195
  it "returns false if the record is not deleted" do
187
- book.should_not be_deleted
196
+ expect(book).not_to be_deleted
188
197
  end
189
198
  end
190
199
  end
@@ -60,6 +60,8 @@ class Library < ActiveRecord::Base
60
60
  end
61
61
 
62
62
  RSpec.configure do |config|
63
+ config.disable_monkey_patching!
64
+
63
65
  config.around do |example|
64
66
  ActiveRecord::Base.transaction do
65
67
  example.run
@@ -68,15 +70,17 @@ RSpec.configure do |config|
68
70
  end
69
71
 
70
72
  config.before :suite do
73
+ mysql = URI(ENV['MYSQL_URL'] || 'mysql://root@127.0.0.1:3306')
74
+
71
75
  ActiveRecord::Base.establish_connection(
72
76
  adapter: "mysql2",
73
- username: "root",
74
- host: "127.0.0.1",
75
- port: 3306,
76
- password: ""
77
+ username: mysql.user,
78
+ host: mysql.host,
79
+ port: mysql.port,
80
+ password: mysql.password
77
81
  )
78
82
 
79
- ActiveRecord::Base.connection.create_database("zombie_record")
83
+ ActiveRecord::Base.connection.create_database("zombie_record", charset: "utf8mb4")
80
84
  ActiveRecord::Base.connection.execute("use zombie_record;")
81
85
 
82
86
  ActiveRecord::Schema.define do
@@ -15,14 +15,15 @@ Gem::Specification.new do |spec|
15
15
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- spec.add_dependency "activerecord", ">= 4.0", "< 5.1"
18
+ spec.required_ruby_version = ">= 2.4"
19
+
20
+ spec.add_dependency "activerecord", ">= 4.2", "< 6.2"
19
21
  spec.add_dependency "mysql2"
20
22
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
23
+ spec.add_development_dependency "bundler"
22
24
  spec.add_development_dependency "byebug"
23
25
  spec.add_development_dependency "rake"
24
26
  spec.add_development_dependency "bump"
25
- spec.add_development_dependency "rspec", "~> 2.14.1"
26
- spec.add_development_dependency "timecop", "~> 0.7.0"
27
- spec.add_development_dependency "wwtd", ">= 0.5.3"
27
+ spec.add_development_dependency "rspec", "~> 3.5"
28
+ spec.add_development_dependency "timecop"
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zombie_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-07 00:00:00.000000000 Z
11
+ date: 2021-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.1'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '4.0'
29
+ version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.1'
32
+ version: '6.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: mysql2
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -48,16 +48,16 @@ dependencies:
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
53
+ version: '0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '1.3'
60
+ version: '0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: byebug
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -106,42 +106,28 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 2.14.1
109
+ version: '3.5'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 2.14.1
116
+ version: '3.5'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: timecop
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 0.7.0
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.7.0
131
- - !ruby/object:Gem::Dependency
132
- name: wwtd
133
119
  requirement: !ruby/object:Gem::Requirement
134
120
  requirements:
135
121
  - - ">="
136
122
  - !ruby/object:Gem::Version
137
- version: 0.5.3
123
+ version: '0'
138
124
  type: :development
139
125
  prerelease: false
140
126
  version_requirements: !ruby/object:Gem::Requirement
141
127
  requirements:
142
128
  - - ">="
143
129
  - !ruby/object:Gem::Version
144
- version: 0.5.3
130
+ version: '0'
145
131
  description: Allows restoring your Active Records from the dead!
146
132
  email:
147
133
  - dasch@zendesk.com
@@ -149,20 +135,26 @@ executables: []
149
135
  extensions: []
150
136
  extra_rdoc_files: []
151
137
  files:
138
+ - ".github/workflows/ci.yml"
152
139
  - ".gitignore"
153
140
  - ".rspec"
154
- - ".travis.yml"
155
141
  - CHANGELOG.md
156
142
  - Gemfile
157
143
  - LICENSE.txt
158
144
  - README.md
159
145
  - Rakefile
160
- - gemfiles/rails4.1.gemfile
161
- - gemfiles/rails4.1.gemfile.lock
162
146
  - gemfiles/rails4.2.gemfile
163
147
  - gemfiles/rails4.2.gemfile.lock
164
148
  - gemfiles/rails5.0.gemfile
165
149
  - gemfiles/rails5.0.gemfile.lock
150
+ - gemfiles/rails5.1.gemfile
151
+ - gemfiles/rails5.1.gemfile.lock
152
+ - gemfiles/rails5.2.gemfile
153
+ - gemfiles/rails5.2.gemfile.lock
154
+ - gemfiles/rails6.0.gemfile
155
+ - gemfiles/rails6.0.gemfile.lock
156
+ - gemfiles/rails6.1.gemfile
157
+ - gemfiles/rails6.1.gemfile.lock
166
158
  - lib/zombie_record.rb
167
159
  - lib/zombie_record/restorable.rb
168
160
  - lib/zombie_record/version.rb
@@ -173,7 +165,7 @@ homepage: https://github.com/zendesk/zombie_record
173
165
  licenses:
174
166
  - MIT
175
167
  metadata: {}
176
- post_install_message:
168
+ post_install_message:
177
169
  rdoc_options: []
178
170
  require_paths:
179
171
  - lib
@@ -181,16 +173,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
173
  requirements:
182
174
  - - ">="
183
175
  - !ruby/object:Gem::Version
184
- version: '0'
176
+ version: '2.4'
185
177
  required_rubygems_version: !ruby/object:Gem::Requirement
186
178
  requirements:
187
179
  - - ">="
188
180
  - !ruby/object:Gem::Version
189
181
  version: '0'
190
182
  requirements: []
191
- rubyforge_project:
192
- rubygems_version: 2.5.2
193
- signing_key:
183
+ rubygems_version: 3.2.2
184
+ signing_key:
194
185
  specification_version: 4
195
186
  summary: Allows restoring your Active Records from the dead!
196
187
  test_files:
@@ -1,14 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.8
4
- - 2.2.4
5
- gemfile:
6
- - gemfiles/rails4.1.gemfile
7
- - gemfiles/rails4.2.gemfile
8
- - gemfiles/rails5.0.gemfile
9
- bundler_args: ""
10
- script: "bundle exec rake spec"
11
- matrix:
12
- exclude:
13
- - rvm: 2.1.8
14
- gemfile: gemfiles/rails5.0.gemfile
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: "../"
4
-
5
- gem "activerecord", "~> 4.1.8"
6
- gem "mysql2", "~> 0.3.0"
@@ -1,64 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- zombie_record (1.3.1)
5
- activerecord (>= 4.0, < 5.1)
6
- mysql2
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activemodel (4.1.14)
12
- activesupport (= 4.1.14)
13
- builder (~> 3.1)
14
- activerecord (4.1.14)
15
- activemodel (= 4.1.14)
16
- activesupport (= 4.1.14)
17
- arel (~> 5.0.0)
18
- activesupport (4.1.14)
19
- i18n (~> 0.6, >= 0.6.9)
20
- json (~> 1.7, >= 1.7.7)
21
- minitest (~> 5.1)
22
- thread_safe (~> 0.1)
23
- tzinfo (~> 1.1)
24
- arel (5.0.1.20140414130214)
25
- builder (3.2.2)
26
- bump (0.5.3)
27
- byebug (8.2.1)
28
- diff-lcs (1.2.5)
29
- i18n (0.7.0)
30
- json (1.8.3)
31
- minitest (5.8.3)
32
- mysql2 (0.3.20)
33
- rake (10.4.2)
34
- rspec (2.14.1)
35
- rspec-core (~> 2.14.0)
36
- rspec-expectations (~> 2.14.0)
37
- rspec-mocks (~> 2.14.0)
38
- rspec-core (2.14.8)
39
- rspec-expectations (2.14.5)
40
- diff-lcs (>= 1.1.3, < 2.0)
41
- rspec-mocks (2.14.6)
42
- thread_safe (0.3.5)
43
- timecop (0.7.4)
44
- tzinfo (1.2.2)
45
- thread_safe (~> 0.1)
46
- wwtd (1.3.0)
47
-
48
- PLATFORMS
49
- ruby
50
-
51
- DEPENDENCIES
52
- activerecord (~> 4.1.8)
53
- bump
54
- bundler (~> 1.3)
55
- byebug
56
- mysql2 (~> 0.3.0)
57
- rake
58
- rspec (~> 2.14.1)
59
- timecop (~> 0.7.0)
60
- wwtd (>= 0.5.3)
61
- zombie_record!
62
-
63
- BUNDLED WITH
64
- 1.11.2