store_base_sti_class 0.3.0 → 0.4.0
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/Appraisals +88 -89
- data/Gemfile.lock +15 -14
- data/{README.rdoc → README.md} +32 -22
- data/debug.log +41183 -13
- data/gemfiles/rails_3.0.10.gemfile +1 -1
- data/gemfiles/rails_3.0.10.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.11.gemfile +1 -1
- data/gemfiles/rails_3.0.11.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.12.gemfile +1 -1
- data/gemfiles/rails_3.0.12.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.13.gemfile +1 -1
- data/gemfiles/rails_3.0.13.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.14.gemfile +1 -1
- data/gemfiles/rails_3.0.14.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.15.gemfile +1 -1
- data/gemfiles/rails_3.0.15.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.16.gemfile +1 -1
- data/gemfiles/rails_3.0.16.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.17.gemfile +1 -1
- data/gemfiles/rails_3.0.17.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.18.gemfile +1 -1
- data/gemfiles/rails_3.0.18.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.19.gemfile +1 -1
- data/gemfiles/rails_3.0.19.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.20.gemfile +1 -1
- data/gemfiles/rails_3.0.20.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.5.gemfile +1 -1
- data/gemfiles/rails_3.0.5.gemfile.lock +6 -3
- data/gemfiles/rails_3.0.6.gemfile +1 -1
- data/gemfiles/rails_3.0.6.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.7.gemfile +1 -1
- data/gemfiles/rails_3.0.7.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.8.gemfile +1 -1
- data/gemfiles/rails_3.0.8.gemfile.lock +45 -0
- data/gemfiles/rails_3.0.9.gemfile +1 -1
- data/gemfiles/rails_3.0.9.gemfile.lock +45 -0
- data/gemfiles/rails_3.1.0.gemfile +1 -1
- data/gemfiles/rails_3.1.0.gemfile.lock +49 -0
- data/gemfiles/rails_3.1.10.gemfile +1 -1
- data/gemfiles/rails_3.1.10.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.11.gemfile +1 -1
- data/gemfiles/rails_3.1.11.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.12.gemfile +1 -1
- data/gemfiles/rails_3.1.12.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.2.gemfile +1 -1
- data/gemfiles/rails_3.1.2.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.3.gemfile +1 -1
- data/gemfiles/rails_3.1.3.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.4.gemfile +1 -1
- data/gemfiles/rails_3.1.4.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.5.gemfile +1 -1
- data/gemfiles/rails_3.1.5.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.6.gemfile +1 -1
- data/gemfiles/rails_3.1.6.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.7.gemfile +1 -1
- data/gemfiles/rails_3.1.7.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.8.gemfile +1 -1
- data/gemfiles/rails_3.1.8.gemfile.lock +47 -0
- data/gemfiles/rails_3.1.9.gemfile +1 -1
- data/gemfiles/rails_3.1.9.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.0.gemfile +1 -1
- data/gemfiles/rails_3.2.0.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.1.gemfile +1 -1
- data/gemfiles/rails_3.2.1.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.10.gemfile +1 -1
- data/gemfiles/rails_3.2.10.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.11.gemfile +1 -1
- data/gemfiles/rails_3.2.11.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.12.gemfile +1 -1
- data/gemfiles/rails_3.2.12.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.13.gemfile +1 -1
- data/gemfiles/rails_3.2.13.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.14.gemfile +1 -1
- data/gemfiles/rails_3.2.14.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.15.gemfile +1 -1
- data/gemfiles/rails_3.2.15.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.16.gemfile +1 -1
- data/gemfiles/rails_3.2.16.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.17.gemfile +1 -1
- data/gemfiles/rails_3.2.17.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.18.gemfile +1 -1
- data/gemfiles/rails_3.2.18.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.19.gemfile +1 -1
- data/gemfiles/rails_3.2.19.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.2.gemfile +1 -1
- data/gemfiles/rails_3.2.2.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.20.gemfile +1 -1
- data/gemfiles/rails_3.2.20.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.21.gemfile +1 -1
- data/gemfiles/rails_3.2.21.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.22.gemfile +8 -0
- data/gemfiles/rails_3.2.22.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.3.gemfile +1 -1
- data/gemfiles/rails_3.2.3.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.4.gemfile +1 -1
- data/gemfiles/rails_3.2.4.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.5.gemfile +1 -1
- data/gemfiles/rails_3.2.5.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.6.gemfile +1 -1
- data/gemfiles/rails_3.2.6.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.7.gemfile +1 -1
- data/gemfiles/rails_3.2.7.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.8.gemfile +1 -1
- data/gemfiles/rails_3.2.8.gemfile.lock +47 -0
- data/gemfiles/rails_3.2.9.gemfile +1 -1
- data/gemfiles/rails_3.2.9.gemfile.lock +47 -0
- data/gemfiles/rails_4.0.0.gemfile +1 -2
- data/gemfiles/rails_4.0.0.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.1.gemfile +1 -2
- data/gemfiles/rails_4.0.1.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.10.gemfile +1 -2
- data/gemfiles/rails_4.0.10.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.11.1.gemfile +1 -2
- data/gemfiles/rails_4.0.11.1.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.11.gemfile +1 -2
- data/gemfiles/rails_4.0.11.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.12.gemfile +1 -2
- data/gemfiles/rails_4.0.12.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.13.gemfile +1 -2
- data/gemfiles/rails_4.0.13.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.2.gemfile +1 -2
- data/gemfiles/rails_4.0.2.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.3.gemfile +1 -2
- data/gemfiles/rails_4.0.3.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.4.gemfile +1 -2
- data/gemfiles/rails_4.0.4.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.5.gemfile +1 -2
- data/gemfiles/rails_4.0.5.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.6.gemfile +1 -2
- data/gemfiles/rails_4.0.6.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.7.gemfile +1 -2
- data/gemfiles/rails_4.0.7.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.8.gemfile +1 -2
- data/gemfiles/rails_4.0.8.gemfile.lock +52 -0
- data/gemfiles/rails_4.0.9.gemfile +1 -2
- data/gemfiles/rails_4.0.9.gemfile.lock +52 -0
- data/gemfiles/rails_4.1.0.gemfile +1 -2
- data/gemfiles/rails_4.1.0.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.1.gemfile +1 -2
- data/gemfiles/rails_4.1.1.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.10.gemfile +7 -0
- data/gemfiles/rails_4.1.10.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.11.gemfile +7 -0
- data/gemfiles/rails_4.1.11.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.12.gemfile +7 -0
- data/gemfiles/rails_4.1.12.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.2.gemfile +1 -2
- data/gemfiles/rails_4.1.2.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.3.gemfile +1 -2
- data/gemfiles/rails_4.1.3.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.4.gemfile +1 -2
- data/gemfiles/rails_4.1.4.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.5.gemfile +1 -2
- data/gemfiles/rails_4.1.5.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.6.gemfile +1 -2
- data/gemfiles/rails_4.1.6.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.7.1.gemfile +1 -2
- data/gemfiles/rails_4.1.7.1.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.7.gemfile +1 -2
- data/gemfiles/rails_4.1.7.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.8.gemfile +1 -2
- data/gemfiles/rails_4.1.8.gemfile.lock +51 -0
- data/gemfiles/rails_4.1.9.gemfile +1 -2
- data/gemfiles/rails_4.1.9.gemfile.lock +51 -0
- data/gemfiles/rails_4.2.0.gemfile +7 -0
- data/gemfiles/rails_4.2.0.gemfile.lock +51 -0
- data/gemfiles/rails_4.2.1.gemfile +7 -0
- data/gemfiles/rails_4.2.1.gemfile.lock +51 -0
- data/gemfiles/rails_4.2.2.gemfile +7 -0
- data/gemfiles/rails_4.2.2.gemfile.lock +51 -0
- data/gemfiles/rails_4.2.3.gemfile +7 -0
- data/gemfiles/rails_4.2.3.gemfile.lock +51 -0
- data/lib/store_base_sti_class/version.rb +1 -1
- data/lib/store_base_sti_class.rb +2 -0
- data/lib/store_base_sti_class_for_3_0.rb +1 -1
- data/lib/store_base_sti_class_for_4_2.rb +271 -0
- data/store_base_sti_class.gemspec +2 -2
- data/storebasestiname_unittest.sql +0 -0
- metadata +98 -7
- data/CHANGELOG +0 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 38b134ddcc20f10bf9a71db7cb969fdcf2ae67f7
|
|
4
|
+
data.tar.gz: ebd20c38f338f566295ab2d59b315945fed1c88e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 56778170e619fc86da29af417233644e44b4e2d538be9f30ad31ceec67f27f6c0a91426c486f1017afc9fc429f2b0bbb2d1dc59391f27221d4200f28477ca108
|
|
7
|
+
data.tar.gz: 5f3dc45111f4e39ddf746a637571567915b0fb5d6c4bd3f85fac71088691071da7a50c221729f281ff5e4f1a03ca310897816df648f9a57b76f8c89e01424e29
|
data/Appraisals
CHANGED
|
@@ -1,97 +1,96 @@
|
|
|
1
|
-
RAILS_VERSIONS =
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1
|
+
RAILS_VERSIONS = %w(
|
|
2
|
+
3.0.5
|
|
3
|
+
3.0.6
|
|
4
|
+
3.0.7
|
|
5
|
+
3.0.8
|
|
6
|
+
3.0.9
|
|
7
|
+
3.0.10
|
|
8
|
+
3.0.11
|
|
9
|
+
3.0.12
|
|
10
|
+
3.0.13
|
|
11
|
+
3.0.14
|
|
12
|
+
3.0.15
|
|
13
|
+
3.0.16
|
|
14
|
+
3.0.17
|
|
15
|
+
3.0.18
|
|
16
|
+
3.0.19
|
|
17
|
+
3.0.20
|
|
18
|
+
3.1.0
|
|
19
|
+
3.1.2
|
|
20
|
+
3.1.3
|
|
21
|
+
3.1.4
|
|
22
|
+
3.1.5
|
|
23
|
+
3.1.6
|
|
24
|
+
3.1.7
|
|
25
|
+
3.1.8
|
|
26
|
+
3.1.9
|
|
27
|
+
3.1.10
|
|
28
|
+
3.1.11
|
|
29
|
+
3.1.12
|
|
30
|
+
3.2.0
|
|
31
|
+
3.2.1
|
|
32
|
+
3.2.2
|
|
33
|
+
3.2.3
|
|
34
|
+
3.2.4
|
|
35
|
+
3.2.5
|
|
36
|
+
3.2.6
|
|
37
|
+
3.2.7
|
|
38
|
+
3.2.8
|
|
39
|
+
3.2.9
|
|
40
|
+
3.2.10
|
|
41
|
+
3.2.11
|
|
42
|
+
3.2.12
|
|
43
|
+
3.2.13
|
|
44
|
+
3.2.14
|
|
45
|
+
3.2.15
|
|
46
|
+
3.2.16
|
|
47
|
+
3.2.17
|
|
48
|
+
3.2.18
|
|
49
|
+
3.2.19
|
|
50
|
+
3.2.20
|
|
51
|
+
3.2.21
|
|
52
|
+
3.2.22
|
|
53
|
+
4.0.0
|
|
54
|
+
4.0.1
|
|
55
|
+
4.0.2
|
|
56
|
+
4.0.3
|
|
57
|
+
4.0.4
|
|
58
|
+
4.0.5
|
|
59
|
+
4.0.6
|
|
60
|
+
4.0.7
|
|
61
|
+
4.0.8
|
|
62
|
+
4.0.9
|
|
63
|
+
4.0.10
|
|
64
|
+
4.0.11
|
|
65
|
+
4.0.11.1
|
|
66
|
+
4.0.12
|
|
67
|
+
4.0.13
|
|
68
|
+
4.1.0
|
|
69
|
+
4.1.1
|
|
70
|
+
4.1.2
|
|
71
|
+
4.1.3
|
|
72
|
+
4.1.4
|
|
73
|
+
4.1.5
|
|
74
|
+
4.1.6
|
|
75
|
+
4.1.7
|
|
76
|
+
4.1.7.1
|
|
77
|
+
4.1.8
|
|
78
|
+
4.1.9
|
|
79
|
+
4.1.10
|
|
80
|
+
4.1.11
|
|
81
|
+
4.1.12
|
|
82
|
+
4.2.0
|
|
83
|
+
4.2.1
|
|
84
|
+
4.2.2
|
|
85
|
+
4.2.3
|
|
86
|
+
)
|
|
79
87
|
|
|
80
88
|
RAILS_VERSIONS.each do |version|
|
|
81
89
|
appraise "rails_#{version}" do
|
|
82
90
|
gem 'activerecord', version
|
|
83
91
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
'~> 4.0'
|
|
87
|
-
when /^4.0/
|
|
88
|
-
'~> 4.2'
|
|
89
|
-
when /^4.1/
|
|
90
|
-
'~> 5.1'
|
|
91
|
-
else
|
|
92
|
-
raise 'no minitest version specified for that ActiveRecord version'
|
|
92
|
+
if version =~ /^3/
|
|
93
|
+
gem 'minitest', '~> 4.0'
|
|
93
94
|
end
|
|
94
|
-
|
|
95
|
-
gem 'minitest', minitest_version
|
|
96
95
|
end
|
|
97
96
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
store_base_sti_class (0.
|
|
4
|
+
store_base_sti_class (0.4.0)
|
|
5
5
|
activerecord (>= 3.0.5)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
activemodel (4.2.
|
|
11
|
-
activesupport (= 4.2.
|
|
10
|
+
activemodel (4.2.3)
|
|
11
|
+
activesupport (= 4.2.3)
|
|
12
12
|
builder (~> 3.1)
|
|
13
|
-
activerecord (4.2.
|
|
14
|
-
activemodel (= 4.2.
|
|
15
|
-
activesupport (= 4.2.
|
|
13
|
+
activerecord (4.2.3)
|
|
14
|
+
activemodel (= 4.2.3)
|
|
15
|
+
activesupport (= 4.2.3)
|
|
16
16
|
arel (~> 6.0)
|
|
17
|
-
activesupport (4.2.
|
|
17
|
+
activesupport (4.2.3)
|
|
18
18
|
i18n (~> 0.7)
|
|
19
19
|
json (~> 1.7, >= 1.7.7)
|
|
20
20
|
minitest (~> 5.1)
|
|
21
21
|
thread_safe (~> 0.3, >= 0.3.4)
|
|
22
22
|
tzinfo (~> 1.1)
|
|
23
|
-
appraisal (
|
|
23
|
+
appraisal (0.5.2)
|
|
24
24
|
bundler
|
|
25
25
|
rake
|
|
26
|
-
|
|
27
|
-
arel (6.0.0)
|
|
26
|
+
arel (6.0.2)
|
|
28
27
|
builder (3.2.2)
|
|
29
28
|
i18n (0.7.0)
|
|
30
|
-
json (1.8.
|
|
31
|
-
minitest (5.
|
|
29
|
+
json (1.8.3)
|
|
30
|
+
minitest (5.7.0)
|
|
32
31
|
rake (10.4.2)
|
|
33
32
|
sqlite3 (1.3.10)
|
|
34
|
-
|
|
35
|
-
thread_safe (0.3.4)
|
|
33
|
+
thread_safe (0.3.5)
|
|
36
34
|
tzinfo (1.2.2)
|
|
37
35
|
thread_safe (~> 0.1)
|
|
38
36
|
|
|
@@ -45,3 +43,6 @@ DEPENDENCIES
|
|
|
45
43
|
minitest (>= 4.0)
|
|
46
44
|
sqlite3
|
|
47
45
|
store_base_sti_class!
|
|
46
|
+
|
|
47
|
+
BUNDLED WITH
|
|
48
|
+
1.10.5
|
data/{README.rdoc → README.md}
RENAMED
|
@@ -1,30 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
[](https://travis-ci.org/appfolio/store_base_sti_class)
|
|
2
|
+
## Description
|
|
2
3
|
|
|
3
4
|
Given the following class definitions,
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
```ruby
|
|
7
|
+
class Address
|
|
8
|
+
belongs_to :addressable, :polymorphic => true
|
|
9
|
+
end
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
class Person
|
|
12
|
+
has_many :addresses, :as => addressable
|
|
13
|
+
end
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
class Vendor < Person
|
|
16
|
+
end
|
|
17
|
+
```
|
|
15
18
|
|
|
16
19
|
and given the following code,
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
```ruby
|
|
22
|
+
vendor = Vendor.create(...)
|
|
23
|
+
address = vendor.addresses.create(...)
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
p vendor
|
|
26
|
+
p address
|
|
27
|
+
```
|
|
23
28
|
|
|
24
29
|
will output,
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
```ruby
|
|
32
|
+
#<Vendor id: 1, type: "Vendor" ...>
|
|
33
|
+
#<Address id: 1, addressable_id: 1, addressable_type: 'Person' ...>
|
|
34
|
+
```
|
|
28
35
|
|
|
29
36
|
Notice that addressable_type column is Person even though the actual class is Vendor.
|
|
30
37
|
|
|
@@ -34,15 +41,18 @@ a join with persons or an extra query is required to find out the actual type of
|
|
|
34
41
|
This gem add ActiveRecord::Base.store_base_sti_class configuration option. It defaults to true for backwards compatibility. Setting it false will alter ActiveRecord's behavior to store the actual class in polymorphic _type columns when STI is used.
|
|
35
42
|
|
|
36
43
|
In the example above, if the ActiveRecord::Base.store_base_sti_class is false, the output will be,
|
|
37
|
-
|
|
44
|
+
```
|
|
38
45
|
#<Vendor id: 1, type: "Vendor" ...>
|
|
39
46
|
#<Address id: 1, addressable_id: 1, addressable_type: 'Vendor' ...>
|
|
47
|
+
```
|
|
40
48
|
|
|
41
|
-
|
|
49
|
+
## Usage
|
|
42
50
|
|
|
43
51
|
Add the following line to your Gemfile,
|
|
44
52
|
|
|
45
|
-
|
|
53
|
+
```ruby
|
|
54
|
+
gem 'store_base_sti_class'
|
|
55
|
+
```
|
|
46
56
|
|
|
47
57
|
then bundle install. Once you have the gem installed, add the following to one of the initializers (or make a new one) in config/initializers,
|
|
48
58
|
|
|
@@ -50,7 +60,7 @@ then bundle install. Once you have the gem installed, add the following to one o
|
|
|
50
60
|
|
|
51
61
|
When changing this behavior you will have write a migration to update all of your existing _type columns accordingly. You may also need to change your application if it explicitly relies on the _type columns.
|
|
52
62
|
|
|
53
|
-
|
|
63
|
+
## Notes
|
|
54
64
|
|
|
55
65
|
This gem incorporates work from:
|
|
56
66
|
- https://github.com/pkmiec/store_base_sti_class_for_3_0
|
|
@@ -58,10 +68,10 @@ This gem incorporates work from:
|
|
|
58
68
|
- https://github.com/Lovethis/store_base_sti_class_for_3_1
|
|
59
69
|
- https://github.com/codepodu/store_base_sti_class_for_4_0
|
|
60
70
|
|
|
61
|
-
It currently works with ActiveRecord 3.0.5 through 4.
|
|
71
|
+
It currently works with ActiveRecord 3.0.5 through 4.2.x.
|
|
62
72
|
|
|
63
|
-
|
|
73
|
+
## Copyright
|
|
64
74
|
|
|
65
|
-
Copyright (c) 2011 AppFolio, inc. See LICENSE.txt for
|
|
75
|
+
Copyright (c) 2011-2015 AppFolio, inc. See LICENSE.txt for
|
|
66
76
|
further details.
|
|
67
77
|
|