active_type 1.5.0 → 1.6.0

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
  SHA256:
3
- metadata.gz: 4b89a8dd55842409c9f14b641fcb0d6efa2f090cb4c01507f72ff5f77bd415af
4
- data.tar.gz: 48bcc880f21b98af413ff99f53a980d435b06cf07397c7487d7a3f8d3599cee8
3
+ metadata.gz: fd106690815f11c7582797456d2915ae313899725bfab18aa1ada385c66367cc
4
+ data.tar.gz: 1aec1dec85d519dfa8d75ae3985e1e182963725369c783eb8b2254f6406bba97
5
5
  SHA512:
6
- metadata.gz: 8a6dff5a37816e2e71dd66f1300354cc7989aabc7cdd1ea188290a91b2957c1589231631bf1a36598d5dc9bbff76648be4dd71e59958fe3de8d3f9d9acabdc7c
7
- data.tar.gz: 7a75c3faaf91db7326f6147375c08f334f776b24720caf44370e2b197d857213204c4a3d94993ad53cfb083181ed508ce6edf266fbbbaabe49acbe2393acd57f
6
+ metadata.gz: 611573072b7632eec3d78e7a80263ff4844100b2c401879fbbfe326d8d68cf2f3780fdaa7c260f8917aaadbe343f263472c12a42a797d6dbead714540df2a5bb
7
+ data.tar.gz: 6a0e49c446ada6f2a63cad98ab59ab552015e3fe3c573fe4075ba28f0ddb02b084cb5b604f005da6f99bad2221e8dfdc9c3d6f90963bd6142a62525b0c5af39c
@@ -15,16 +15,20 @@ jobs:
15
15
  matrix:
16
16
  ruby:
17
17
  - "2.3.8"
18
- - "2.4.6"
19
18
  - "2.5.5"
20
19
  - "2.6.3"
20
+ - "2.7.2"
21
21
  gemfile:
22
22
  - Gemfile.3.2.sqlite3
23
23
  - Gemfile.4.2.sqlite3
24
24
  - Gemfile.5.2.sqlite3
25
+ - Gemfile.6.0.sqlite3
26
+ - Gemfile.6.1.sqlite3
25
27
  exclude:
26
- - ruby: "2.4.6"
27
- gemfile: Gemfile.3.2.sqlite3
28
+ - ruby: "2.3.8"
29
+ gemfile: Gemfile.6.0.sqlite3
30
+ - ruby: "2.3.8"
31
+ gemfile: Gemfile.6.1.sqlite3
28
32
  - ruby: "2.5.5"
29
33
  gemfile: Gemfile.3.2.sqlite3
30
34
  - ruby: "2.5.5"
@@ -33,6 +37,10 @@ jobs:
33
37
  gemfile: Gemfile.3.2.sqlite3
34
38
  - ruby: "2.6.3"
35
39
  gemfile: Gemfile.4.2.sqlite3
40
+ - ruby: "2.7.2"
41
+ gemfile: Gemfile.3.2.sqlite3
42
+ - ruby: "2.7.2"
43
+ gemfile: Gemfile.4.2.sqlite3
36
44
 
37
45
  env:
38
46
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
@@ -72,20 +80,14 @@ jobs:
72
80
  matrix:
73
81
  ruby:
74
82
  - "2.3.8"
75
- - "2.4.6"
76
83
  - "2.5.5"
77
84
  - "2.6.3"
85
+ - "2.7.2"
78
86
  gemfile:
79
87
  - Gemfile.3.2.mysql2
80
88
  - Gemfile.4.2.mysql2
81
89
  - Gemfile.5.2.mysql2
82
90
  exclude:
83
- - ruby: "2.4.6"
84
- gemfile: Gemfile.3.2.mysql2
85
- - ruby: "2.4.6"
86
- gemfile: Gemfile.4.2.mysql2
87
- - ruby: "2.4.6"
88
- gemfile: Gemfile.5.2.mysql2
89
91
  - ruby: "2.5.5"
90
92
  gemfile: Gemfile.3.2.mysql2
91
93
  - ruby: "2.5.5"
@@ -96,6 +98,10 @@ jobs:
96
98
  gemfile: Gemfile.3.2.mysql2
97
99
  - ruby: "2.6.3"
98
100
  gemfile: Gemfile.4.2.mysql2
101
+ - ruby: "2.7.2"
102
+ gemfile: Gemfile.3.2.mysql2
103
+ - ruby: "2.7.2"
104
+ gemfile: Gemfile.4.2.mysql2
99
105
 
100
106
  env:
101
107
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
@@ -144,19 +150,22 @@ jobs:
144
150
  - "2.3.8"
145
151
  - "2.5.5"
146
152
  - "2.6.3"
153
+ - "2.7.2"
147
154
  gemfile:
148
155
  - Gemfile.4.2.pg
149
156
  - Gemfile.5.2.pg
150
- - Gemfile.6.0.pg
157
+ - Gemfile.6.1.pg
151
158
  exclude:
152
159
  - ruby: "2.3.8"
153
- gemfile: Gemfile.6.0.pg
160
+ gemfile: Gemfile.6.1.pg
154
161
  - ruby: "2.5.5"
155
162
  gemfile: Gemfile.4.2.pg
156
163
  - ruby: "2.5.5"
157
164
  gemfile: Gemfile.5.2.pg
158
165
  - ruby: "2.6.3"
159
166
  gemfile: Gemfile.4.2.pg
167
+ - ruby: "2.7.2"
168
+ gemfile: Gemfile.4.2.pg
160
169
 
161
170
  env:
162
171
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
data/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## Unreleased changes
6
6
 
7
+ ## 1.6.0 (2021-03-04)
8
+
9
+ * Fixed: Numerous issues with Rails 6.1. Thanks to @vr4b4c for some of the changes.
10
+
7
11
  ## 1.5.0 (2020-11-06)
8
12
 
9
13
  * Added: When serializing/deserializing `ActiveType::Record` or `ActiveType::Object` with YAML, virtual attributes are restored.
@@ -8,7 +8,7 @@ GIT
8
8
  PATH
9
9
  remote: .
10
10
  specs:
11
- active_type (1.5.0)
11
+ active_type (1.6.0)
12
12
  activerecord (>= 3.2)
13
13
 
14
14
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
data/Gemfile.4.2.pg.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
@@ -1,47 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.1.6.1)
11
- activesupport (= 5.1.6.1)
12
- activerecord (5.1.6.1)
13
- activemodel (= 5.1.6.1)
14
- activesupport (= 5.1.6.1)
10
+ activemodel (5.1.7)
11
+ activesupport (= 5.1.7)
12
+ activerecord (5.1.7)
13
+ activemodel (= 5.1.7)
14
+ activesupport (= 5.1.7)
15
15
  arel (~> 8.0)
16
- activesupport (5.1.6.1)
16
+ activesupport (5.1.7)
17
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
18
  i18n (>= 0.7, < 2)
19
19
  minitest (~> 5.1)
20
20
  tzinfo (~> 1.1)
21
21
  arel (8.0.0)
22
- concurrent-ruby (1.1.4)
23
- diff-lcs (1.3)
24
- gemika (0.4.1)
25
- i18n (1.5.3)
22
+ concurrent-ruby (1.1.7)
23
+ diff-lcs (1.4.4)
24
+ gemika (0.5.0)
25
+ i18n (1.8.5)
26
26
  concurrent-ruby (~> 1.0)
27
- minitest (5.11.3)
27
+ minitest (5.14.2)
28
28
  mysql2 (0.5.3)
29
- rake (12.0.0)
30
- rspec (3.6.0)
31
- rspec-core (~> 3.6.0)
32
- rspec-expectations (~> 3.6.0)
33
- rspec-mocks (~> 3.6.0)
34
- rspec-core (3.6.0)
35
- rspec-support (~> 3.6.0)
36
- rspec-expectations (3.6.0)
29
+ rake (13.0.1)
30
+ rspec (3.10.0)
31
+ rspec-core (~> 3.10.0)
32
+ rspec-expectations (~> 3.10.0)
33
+ rspec-mocks (~> 3.10.0)
34
+ rspec-core (3.10.0)
35
+ rspec-support (~> 3.10.0)
36
+ rspec-expectations (3.10.0)
37
37
  diff-lcs (>= 1.2.0, < 2.0)
38
- rspec-support (~> 3.6.0)
39
- rspec-mocks (3.6.0)
38
+ rspec-support (~> 3.10.0)
39
+ rspec-mocks (3.10.0)
40
40
  diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.6.0)
42
- rspec-support (3.6.0)
41
+ rspec-support (~> 3.10.0)
42
+ rspec-support (3.10.0)
43
43
  thread_safe (0.3.6)
44
- tzinfo (1.2.5)
44
+ tzinfo (1.2.8)
45
45
  thread_safe (~> 0.1)
46
46
 
47
47
  PLATFORMS
data/Gemfile.5.2.pg.lock CHANGED
@@ -1,47 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.1.6.1)
11
- activesupport (= 5.1.6.1)
12
- activerecord (5.1.6.1)
13
- activemodel (= 5.1.6.1)
14
- activesupport (= 5.1.6.1)
10
+ activemodel (5.1.7)
11
+ activesupport (= 5.1.7)
12
+ activerecord (5.1.7)
13
+ activemodel (= 5.1.7)
14
+ activesupport (= 5.1.7)
15
15
  arel (~> 8.0)
16
- activesupport (5.1.6.1)
16
+ activesupport (5.1.7)
17
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
18
  i18n (>= 0.7, < 2)
19
19
  minitest (~> 5.1)
20
20
  tzinfo (~> 1.1)
21
21
  arel (8.0.0)
22
- concurrent-ruby (1.1.4)
23
- diff-lcs (1.3)
24
- gemika (0.4.1)
25
- i18n (1.5.3)
22
+ concurrent-ruby (1.1.7)
23
+ diff-lcs (1.4.4)
24
+ gemika (0.5.0)
25
+ i18n (1.8.5)
26
26
  concurrent-ruby (~> 1.0)
27
- minitest (5.11.3)
28
- pg (0.21.0)
29
- rake (12.0.0)
30
- rspec (3.6.0)
31
- rspec-core (~> 3.6.0)
32
- rspec-expectations (~> 3.6.0)
33
- rspec-mocks (~> 3.6.0)
34
- rspec-core (3.6.0)
35
- rspec-support (~> 3.6.0)
36
- rspec-expectations (3.6.0)
27
+ minitest (5.14.2)
28
+ pg (1.2.3)
29
+ rake (13.0.1)
30
+ rspec (3.10.0)
31
+ rspec-core (~> 3.10.0)
32
+ rspec-expectations (~> 3.10.0)
33
+ rspec-mocks (~> 3.10.0)
34
+ rspec-core (3.10.0)
35
+ rspec-support (~> 3.10.0)
36
+ rspec-expectations (3.10.0)
37
37
  diff-lcs (>= 1.2.0, < 2.0)
38
- rspec-support (~> 3.6.0)
39
- rspec-mocks (3.6.0)
38
+ rspec-support (~> 3.10.0)
39
+ rspec-mocks (3.10.0)
40
40
  diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.6.0)
42
- rspec-support (3.6.0)
41
+ rspec-support (~> 3.10.0)
42
+ rspec-support (3.10.0)
43
43
  thread_safe (0.3.6)
44
- tzinfo (1.2.5)
44
+ tzinfo (1.2.8)
45
45
  thread_safe (~> 0.1)
46
46
 
47
47
  PLATFORMS
@@ -1,47 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_type (1.5.0)
4
+ active_type (1.6.0)
5
5
  activerecord (>= 3.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.1.6.1)
11
- activesupport (= 5.1.6.1)
12
- activerecord (5.1.6.1)
13
- activemodel (= 5.1.6.1)
14
- activesupport (= 5.1.6.1)
10
+ activemodel (5.1.7)
11
+ activesupport (= 5.1.7)
12
+ activerecord (5.1.7)
13
+ activemodel (= 5.1.7)
14
+ activesupport (= 5.1.7)
15
15
  arel (~> 8.0)
16
- activesupport (5.1.6.1)
16
+ activesupport (5.1.7)
17
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
18
  i18n (>= 0.7, < 2)
19
19
  minitest (~> 5.1)
20
20
  tzinfo (~> 1.1)
21
21
  arel (8.0.0)
22
- concurrent-ruby (1.1.4)
23
- diff-lcs (1.3)
24
- gemika (0.4.1)
25
- i18n (1.5.3)
22
+ concurrent-ruby (1.1.7)
23
+ diff-lcs (1.4.4)
24
+ gemika (0.5.0)
25
+ i18n (1.8.5)
26
26
  concurrent-ruby (~> 1.0)
27
- minitest (5.11.3)
28
- rake (12.0.0)
29
- rspec (3.6.0)
30
- rspec-core (~> 3.6.0)
31
- rspec-expectations (~> 3.6.0)
32
- rspec-mocks (~> 3.6.0)
33
- rspec-core (3.6.0)
34
- rspec-support (~> 3.6.0)
35
- rspec-expectations (3.6.0)
27
+ minitest (5.14.2)
28
+ rake (13.0.1)
29
+ rspec (3.10.0)
30
+ rspec-core (~> 3.10.0)
31
+ rspec-expectations (~> 3.10.0)
32
+ rspec-mocks (~> 3.10.0)
33
+ rspec-core (3.10.0)
34
+ rspec-support (~> 3.10.0)
35
+ rspec-expectations (3.10.0)
36
36
  diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.6.0)
38
- rspec-mocks (3.6.0)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-mocks (3.10.0)
39
39
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.6.0)
41
- rspec-support (3.6.0)
42
- sqlite3 (1.3.13)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-support (3.10.0)
42
+ sqlite3 (1.4.2)
43
43
  thread_safe (0.3.6)
44
- tzinfo (1.2.5)
44
+ tzinfo (1.2.8)
45
45
  thread_safe (~> 0.1)
46
46
 
47
47
  PLATFORMS
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'activerecord', '~>6.0.0'
4
4
  gem 'rspec', '~>3.4'
5
- gem 'pg'
5
+ gem 'sqlite3'
6
6
  gem 'rake'
7
7
  gem 'gemika'
8
8
 
@@ -0,0 +1,59 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ active_type (1.6.0)
5
+ activerecord (>= 3.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activemodel (6.0.3.4)
11
+ activesupport (= 6.0.3.4)
12
+ activerecord (6.0.3.4)
13
+ activemodel (= 6.0.3.4)
14
+ activesupport (= 6.0.3.4)
15
+ activesupport (6.0.3.4)
16
+ concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ i18n (>= 0.7, < 2)
18
+ minitest (~> 5.1)
19
+ tzinfo (~> 1.1)
20
+ zeitwerk (~> 2.2, >= 2.2.2)
21
+ concurrent-ruby (1.1.7)
22
+ diff-lcs (1.4.4)
23
+ gemika (0.5.0)
24
+ i18n (1.8.5)
25
+ concurrent-ruby (~> 1.0)
26
+ minitest (5.14.2)
27
+ rake (13.0.1)
28
+ rspec (3.10.0)
29
+ rspec-core (~> 3.10.0)
30
+ rspec-expectations (~> 3.10.0)
31
+ rspec-mocks (~> 3.10.0)
32
+ rspec-core (3.10.0)
33
+ rspec-support (~> 3.10.0)
34
+ rspec-expectations (3.10.0)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.10.0)
37
+ rspec-mocks (3.10.0)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-support (3.10.0)
41
+ sqlite3 (1.4.2)
42
+ thread_safe (0.3.6)
43
+ tzinfo (1.2.8)
44
+ thread_safe (~> 0.1)
45
+ zeitwerk (2.4.1)
46
+
47
+ PLATFORMS
48
+ ruby
49
+
50
+ DEPENDENCIES
51
+ active_type!
52
+ activerecord (~> 6.0.0)
53
+ gemika
54
+ rake
55
+ rspec (~> 3.4)
56
+ sqlite3
57
+
58
+ BUNDLED WITH
59
+ 2.1.4
data/Gemfile.6.1.pg ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~>6.1.0'
4
+ gem 'rspec', '~>3.4'
5
+ gem 'pg'
6
+ gem 'rake'
7
+ gem 'gemika'
8
+
9
+ gem 'active_type', :path => '.'
@@ -0,0 +1,58 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ active_type (1.6.0)
5
+ activerecord (>= 3.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activemodel (6.1.3)
11
+ activesupport (= 6.1.3)
12
+ activerecord (6.1.3)
13
+ activemodel (= 6.1.3)
14
+ activesupport (= 6.1.3)
15
+ activesupport (6.1.3)
16
+ concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
+ concurrent-ruby (1.1.8)
22
+ diff-lcs (1.4.4)
23
+ gemika (0.5.0)
24
+ i18n (1.8.9)
25
+ concurrent-ruby (~> 1.0)
26
+ minitest (5.14.4)
27
+ pg (1.2.3)
28
+ rake (13.0.3)
29
+ rspec (3.10.0)
30
+ rspec-core (~> 3.10.0)
31
+ rspec-expectations (~> 3.10.0)
32
+ rspec-mocks (~> 3.10.0)
33
+ rspec-core (3.10.1)
34
+ rspec-support (~> 3.10.0)
35
+ rspec-expectations (3.10.1)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-mocks (3.10.2)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-support (3.10.2)
42
+ tzinfo (2.0.4)
43
+ concurrent-ruby (~> 1.0)
44
+ zeitwerk (2.4.2)
45
+
46
+ PLATFORMS
47
+ x86_64-linux
48
+
49
+ DEPENDENCIES
50
+ active_type!
51
+ activerecord (~> 6.1.0)
52
+ gemika
53
+ pg
54
+ rake
55
+ rspec (~> 3.4)
56
+
57
+ BUNDLED WITH
58
+ 2.2.6
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~>6.1.0'
4
+ gem 'rspec', '~>3.4'
5
+ gem 'sqlite3'
6
+ gem 'rake'
7
+ gem 'gemika'
8
+
9
+ gem 'active_type', :path => '.'
@@ -0,0 +1,58 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ active_type (1.6.0)
5
+ activerecord (>= 3.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activemodel (6.1.3)
11
+ activesupport (= 6.1.3)
12
+ activerecord (6.1.3)
13
+ activemodel (= 6.1.3)
14
+ activesupport (= 6.1.3)
15
+ activesupport (6.1.3)
16
+ concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ i18n (>= 1.6, < 2)
18
+ minitest (>= 5.1)
19
+ tzinfo (~> 2.0)
20
+ zeitwerk (~> 2.3)
21
+ concurrent-ruby (1.1.8)
22
+ diff-lcs (1.4.4)
23
+ gemika (0.5.0)
24
+ i18n (1.8.9)
25
+ concurrent-ruby (~> 1.0)
26
+ minitest (5.14.4)
27
+ rake (13.0.3)
28
+ rspec (3.10.0)
29
+ rspec-core (~> 3.10.0)
30
+ rspec-expectations (~> 3.10.0)
31
+ rspec-mocks (~> 3.10.0)
32
+ rspec-core (3.10.1)
33
+ rspec-support (~> 3.10.0)
34
+ rspec-expectations (3.10.1)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.10.0)
37
+ rspec-mocks (3.10.2)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-support (3.10.2)
41
+ sqlite3 (1.4.2)
42
+ tzinfo (2.0.4)
43
+ concurrent-ruby (~> 1.0)
44
+ zeitwerk (2.4.2)
45
+
46
+ PLATFORMS
47
+ x86_64-linux
48
+
49
+ DEPENDENCIES
50
+ active_type!
51
+ activerecord (~> 6.1.0)
52
+ gemika
53
+ rake
54
+ rspec (~> 3.4)
55
+ sqlite3
56
+
57
+ BUNDLED WITH
58
+ 2.2.6
data/README.md CHANGED
@@ -51,7 +51,7 @@ end
51
51
  ```
52
52
 
53
53
 
54
- ### A note on Rails 5
54
+ ### A note on Rails 5+
55
55
 
56
56
  Rails 5 comes with its own implementation of `.attribute`. This implementation is functionally very
57
57
  similar, but not identical to ActiveType's.
@@ -114,6 +114,9 @@ This means your object has all usual `ActiveRecord::Base` methods. Some of those
114
114
  - "saving" (returning `true` or `false`, without actually persisting)
115
115
  - belongs_to (after saying `attribute :child_id, :integer`)
116
116
 
117
+ #### Note on transactions
118
+
119
+ Since `ActiveType::Object` is not backed by a database, it does not open a real transaction when saving, so you should not rely on database changes that might have happend in a `#save` callback to be rolled back when `#save` fails. If you need this, make sure to wrap those changes in an explicit transaction yourself.
117
120
 
118
121
  ### ActiveType::Record
119
122
 
data/Rakefile CHANGED
@@ -27,7 +27,7 @@ namespace :matrix do
27
27
 
28
28
  desc "Run specs for all Ruby #{RUBY_VERSION} gemfiles"
29
29
  task :spec, :files do |t, options|
30
- Gemika::Matrix.from_travis_yml.each do |row|
30
+ Gemika::Matrix.from_ci_config.each do |row|
31
31
  options = options.to_hash.merge(
32
32
  :gemfile => row.gemfile,
33
33
  :fatal => false,
@@ -42,13 +42,7 @@ module ActiveType
42
42
 
43
43
  def validate(parent)
44
44
  changed_children(parent).each_with_index do |child, index|
45
- unless child.valid?
46
- child.errors.each do |attribute, message|
47
- attribute = @index_errors ? "#{@target_name}[#{index}].#{attribute}" : "#{@target_name}.#{attribute}"
48
- parent.errors[attribute] << message
49
- parent.errors[attribute].uniq!
50
- end
51
- end
45
+ add_errors_to_parent(parent, child, index) unless child.valid?
52
46
  end
53
47
  end
54
48
 
@@ -131,6 +125,24 @@ module ActiveType
131
125
  [:build_scope, :find_scope, :scope, :allow_destroy, :reject_if]
132
126
  end
133
127
 
128
+ def add_errors_to_parent(parent, child, index)
129
+ if ActiveRecord::VERSION::MAJOR >= 6 && ActiveRecord::VERSION::MINOR >= 1
130
+ child.errors.each do |error|
131
+ attribute = translate_error_attribute(error.attribute, index)
132
+ parent.errors.add(attribute, error.message)
133
+ end
134
+ else
135
+ child.errors.each do |attribute, message|
136
+ attribute = translate_error_attribute(attribute, index)
137
+ parent.errors.add(attribute, message)
138
+ parent.errors[attribute].uniq!
139
+ end
140
+ end
141
+ end
142
+
143
+ def translate_error_attribute(attribute, index)
144
+ @index_errors ? "#{@target_name}[#{index}].#{attribute}" : "#{@target_name}.#{attribute}"
145
+ end
134
146
  end
135
147
 
136
148
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveType
2
- VERSION = '1.5.0'
2
+ VERSION = '1.6.0'
3
3
  end
@@ -185,7 +185,10 @@ module ActiveType
185
185
  def _read_attribute(name)
186
186
  read_existing_virtual_attribute(name) { super }
187
187
  end
188
- else
188
+ end
189
+
190
+ if ActiveRecord::VERSION::STRING < '4.2.0' || ActiveRecord::VERSION::STRING >= '6.1.0'
191
+ # in 6.1, read_attribute does not call _read_attribute
189
192
  def read_attribute(name)
190
193
  read_existing_virtual_attribute(name) { super }
191
194
  end
@@ -199,7 +202,10 @@ module ActiveType
199
202
  def _write_attribute(name, value)
200
203
  write_existing_virtual_attribute(name, value) { super }
201
204
  end
202
- else
205
+ end
206
+
207
+ if ActiveRecord::VERSION::STRING < '5.2.0' || ActiveRecord::VERSION::STRING >= '6.1.0'
208
+ # in 6.1, write_attribute does not call _write_attribute
203
209
  def write_attribute(name, value)
204
210
  write_existing_virtual_attribute(name, value) { super }
205
211
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_type
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Kraze
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-11-06 00:00:00.000000000 Z
12
+ date: 2021-03-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -63,7 +63,6 @@ files:
63
63
  - ".gitignore"
64
64
  - ".rspec"
65
65
  - ".ruby-version"
66
- - ".travis.yml"
67
66
  - CHANGELOG.md
68
67
  - Gemfile
69
68
  - Gemfile.3.2.mysql2
@@ -82,8 +81,12 @@ files:
82
81
  - Gemfile.5.2.pg.lock
83
82
  - Gemfile.5.2.sqlite3
84
83
  - Gemfile.5.2.sqlite3.lock
85
- - Gemfile.6.0.pg
86
- - Gemfile.6.0.pg.lock
84
+ - Gemfile.6.0.sqlite3
85
+ - Gemfile.6.0.sqlite3.lock
86
+ - Gemfile.6.1.pg
87
+ - Gemfile.6.1.pg.lock
88
+ - Gemfile.6.1.sqlite3
89
+ - Gemfile.6.1.sqlite3.lock
87
90
  - Gemfile.lock
88
91
  - LICENSE
89
92
  - README.md
data/.travis.yml DELETED
@@ -1,72 +0,0 @@
1
- language: ruby
2
- dist: trusty
3
- services:
4
- - postgresql
5
- rvm:
6
- - "2.3.8"
7
- - "2.4.6"
8
- - "2.5.5"
9
- - "2.6.3"
10
- gemfile:
11
- - Gemfile.3.2.mysql2
12
- - Gemfile.3.2.sqlite3
13
- - Gemfile.4.2.mysql2
14
- - Gemfile.4.2.pg
15
- - Gemfile.4.2.sqlite3
16
- - Gemfile.5.2.mysql2
17
- - Gemfile.5.2.sqlite3
18
- - Gemfile.5.2.pg
19
- - Gemfile.6.0.pg
20
- before_script:
21
- - psql -c 'create database active_type_test;' -U postgres
22
- - mysql -e 'create database IF NOT EXISTS active_type_test;'
23
- script: bundle exec rake spec
24
- sudo: false
25
- cache: bundler
26
- matrix:
27
- exclude:
28
- - rvm: "2.3.8"
29
- gemfile: Gemfile.6.0.pg
30
- - rvm: "2.4.6"
31
- gemfile: Gemfile.3.2.mysql2
32
- - rvm: "2.4.6"
33
- gemfile: Gemfile.3.2.sqlite3
34
- - rvm: "2.4.6"
35
- gemfile: Gemfile.4.2.mysql2
36
- - rvm: "2.4.6"
37
- gemfile: Gemfile.4.2.pg
38
- - rvm: "2.4.6"
39
- gemfile: Gemfile.5.2.mysql2
40
- - rvm: "2.4.6"
41
- gemfile: Gemfile.5.2.pg
42
- - rvm: "2.4.6"
43
- gemfile: Gemfile.6.0.pg
44
- - rvm: "2.5.5"
45
- gemfile: Gemfile.3.2.mysql2
46
- - rvm: "2.5.5"
47
- gemfile: Gemfile.3.2.sqlite3
48
- - rvm: "2.5.5"
49
- gemfile: Gemfile.4.2.mysql2
50
- - rvm: "2.5.5"
51
- gemfile: Gemfile.4.2.pg
52
- - rvm: "2.5.5"
53
- gemfile: Gemfile.4.2.sqlite3
54
- - rvm: "2.5.5"
55
- gemfile: Gemfile.5.2.mysql2
56
- - rvm: "2.5.5"
57
- gemfile: Gemfile.5.2.pg
58
- - rvm: "2.6.3"
59
- gemfile: Gemfile.3.2.mysql2
60
- - rvm: "2.6.3"
61
- gemfile: Gemfile.3.2.sqlite3
62
- - rvm: "2.6.3"
63
- gemfile: Gemfile.4.2.mysql2
64
- - rvm: "2.6.3"
65
- gemfile: Gemfile.4.2.pg
66
- - rvm: "2.6.3"
67
- gemfile: Gemfile.4.2.sqlite3
68
- install:
69
- - gem install bundler:2.0.2
70
- - bundle install --no-deployment --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle}
71
- addons:
72
- postgresql: 9.3
data/Gemfile.6.0.pg.lock DELETED
@@ -1,59 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- active_type (1.5.0)
5
- activerecord (>= 3.2)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activemodel (6.0.0)
11
- activesupport (= 6.0.0)
12
- activerecord (6.0.0)
13
- activemodel (= 6.0.0)
14
- activesupport (= 6.0.0)
15
- activesupport (6.0.0)
16
- concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.1, >= 2.1.8)
21
- concurrent-ruby (1.1.5)
22
- diff-lcs (1.3)
23
- gemika (0.4.1)
24
- i18n (1.6.0)
25
- concurrent-ruby (~> 1.0)
26
- minitest (5.11.3)
27
- pg (1.1.4)
28
- rake (12.3.2)
29
- rspec (3.8.0)
30
- rspec-core (~> 3.8.0)
31
- rspec-expectations (~> 3.8.0)
32
- rspec-mocks (~> 3.8.0)
33
- rspec-core (3.8.0)
34
- rspec-support (~> 3.8.0)
35
- rspec-expectations (3.8.2)
36
- diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.8.0)
38
- rspec-mocks (3.8.0)
39
- diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.8.0)
41
- rspec-support (3.8.0)
42
- thread_safe (0.3.6)
43
- tzinfo (1.2.5)
44
- thread_safe (~> 0.1)
45
- zeitwerk (2.1.9)
46
-
47
- PLATFORMS
48
- ruby
49
-
50
- DEPENDENCIES
51
- active_type!
52
- activerecord (~> 6.0.0)
53
- gemika
54
- pg
55
- rake
56
- rspec (~> 3.4)
57
-
58
- BUNDLED WITH
59
- 2.1.4