store_base_sti_class 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +90 -54
  3. data/Gemfile +1 -9
  4. data/Gemfile.lock +27 -60
  5. data/LICENSE.txt +1 -1
  6. data/Rakefile +0 -24
  7. data/debug.log +13 -0
  8. data/gemfiles/rails_3.0.10.gemfile +2 -4
  9. data/gemfiles/rails_3.0.11.gemfile +2 -4
  10. data/gemfiles/rails_3.0.12.gemfile +2 -4
  11. data/gemfiles/rails_3.0.13.gemfile +2 -4
  12. data/gemfiles/rails_3.0.14.gemfile +2 -4
  13. data/gemfiles/rails_3.0.15.gemfile +2 -4
  14. data/gemfiles/rails_3.0.16.gemfile +2 -4
  15. data/gemfiles/rails_3.0.17.gemfile +2 -4
  16. data/gemfiles/rails_3.0.18.gemfile +2 -4
  17. data/gemfiles/rails_3.0.19.gemfile +2 -4
  18. data/gemfiles/rails_3.0.20.gemfile +8 -0
  19. data/gemfiles/rails_3.0.5.gemfile +2 -4
  20. data/gemfiles/rails_3.0.5.gemfile.lock +7 -44
  21. data/gemfiles/rails_3.0.6.gemfile +2 -4
  22. data/gemfiles/rails_3.0.7.gemfile +2 -4
  23. data/gemfiles/rails_3.0.8.gemfile +2 -4
  24. data/gemfiles/rails_3.0.9.gemfile +2 -4
  25. data/gemfiles/rails_3.1.0.gemfile +2 -4
  26. data/gemfiles/rails_3.1.10.gemfile +2 -4
  27. data/gemfiles/rails_3.1.11.gemfile +8 -0
  28. data/gemfiles/rails_3.1.12.gemfile +8 -0
  29. data/gemfiles/rails_3.1.2.gemfile +2 -4
  30. data/gemfiles/rails_3.1.3.gemfile +2 -4
  31. data/gemfiles/rails_3.1.4.gemfile +2 -4
  32. data/gemfiles/rails_3.1.5.gemfile +2 -4
  33. data/gemfiles/rails_3.1.6.gemfile +2 -4
  34. data/gemfiles/rails_3.1.7.gemfile +2 -4
  35. data/gemfiles/rails_3.1.8.gemfile +2 -4
  36. data/gemfiles/rails_3.1.9.gemfile +2 -4
  37. data/gemfiles/rails_3.2.0.gemfile +2 -4
  38. data/gemfiles/rails_3.2.1.gemfile +2 -4
  39. data/gemfiles/rails_3.2.10.gemfile +2 -4
  40. data/gemfiles/rails_3.2.11.gemfile +2 -4
  41. data/gemfiles/rails_3.2.12.gemfile +2 -4
  42. data/gemfiles/rails_3.2.13.gemfile +2 -4
  43. data/gemfiles/rails_3.2.14.gemfile +2 -4
  44. data/gemfiles/rails_3.2.15.gemfile +8 -0
  45. data/gemfiles/rails_3.2.16.gemfile +8 -0
  46. data/gemfiles/rails_3.2.17.gemfile +8 -0
  47. data/gemfiles/rails_3.2.18.gemfile +8 -0
  48. data/gemfiles/rails_3.2.19.gemfile +8 -0
  49. data/gemfiles/rails_3.2.2.gemfile +2 -4
  50. data/gemfiles/rails_3.2.20.gemfile +8 -0
  51. data/gemfiles/rails_3.2.21.gemfile +8 -0
  52. data/gemfiles/rails_3.2.3.gemfile +2 -4
  53. data/gemfiles/rails_3.2.4.gemfile +2 -4
  54. data/gemfiles/rails_3.2.5.gemfile +2 -4
  55. data/gemfiles/rails_3.2.6.gemfile +2 -4
  56. data/gemfiles/rails_3.2.7.gemfile +2 -4
  57. data/gemfiles/rails_3.2.8.gemfile +2 -4
  58. data/gemfiles/rails_3.2.9.gemfile +2 -4
  59. data/gemfiles/rails_4.0.0.gemfile +3 -5
  60. data/gemfiles/rails_4.0.1.gemfile +3 -5
  61. data/gemfiles/rails_4.0.10.gemfile +3 -5
  62. data/gemfiles/rails_4.0.11.1.gemfile +8 -0
  63. data/gemfiles/rails_4.0.11.gemfile +3 -5
  64. data/gemfiles/rails_4.0.12.gemfile +3 -5
  65. data/gemfiles/rails_4.0.13.gemfile +8 -0
  66. data/gemfiles/rails_4.0.2.gemfile +3 -5
  67. data/gemfiles/rails_4.0.3.gemfile +3 -5
  68. data/gemfiles/rails_4.0.4.gemfile +3 -5
  69. data/gemfiles/rails_4.0.5.gemfile +3 -5
  70. data/gemfiles/rails_4.0.6.gemfile +3 -5
  71. data/gemfiles/rails_4.0.7.gemfile +3 -5
  72. data/gemfiles/rails_4.0.8.gemfile +3 -5
  73. data/gemfiles/rails_4.0.9.gemfile +3 -5
  74. data/gemfiles/rails_4.1.0.gemfile +2 -4
  75. data/gemfiles/rails_4.1.1.gemfile +8 -0
  76. data/gemfiles/rails_4.1.2.gemfile +8 -0
  77. data/gemfiles/rails_4.1.3.gemfile +8 -0
  78. data/gemfiles/rails_4.1.4.gemfile +8 -0
  79. data/gemfiles/rails_4.1.5.gemfile +8 -0
  80. data/gemfiles/rails_4.1.6.gemfile +8 -0
  81. data/gemfiles/rails_4.1.7.1.gemfile +8 -0
  82. data/gemfiles/rails_4.1.7.gemfile +8 -0
  83. data/gemfiles/rails_4.1.8.gemfile +8 -0
  84. data/gemfiles/rails_4.1.9.gemfile +8 -0
  85. data/lib/store_base_sti_class/version.rb +3 -0
  86. data/lib/store_base_sti_class.rb +3 -0
  87. data/lib/store_base_sti_class_for_4_1.rb +142 -138
  88. data/store_base_sti_class.gemspec +11 -153
  89. data/{db/storebasestiname_unittest.sql → storebasestiname_unittest.sql} +0 -0
  90. metadata +32 -70
  91. data/.travis.yml +0 -61
  92. data/VERSION +0 -1
  93. data/gemfiles/rails_3.0.10.gemfile.lock +0 -79
  94. data/gemfiles/rails_3.0.11.gemfile.lock +0 -79
  95. data/gemfiles/rails_3.0.12.gemfile.lock +0 -79
  96. data/gemfiles/rails_3.0.13.gemfile.lock +0 -79
  97. data/gemfiles/rails_3.0.14.gemfile.lock +0 -79
  98. data/gemfiles/rails_3.0.15.gemfile.lock +0 -79
  99. data/gemfiles/rails_3.0.16.gemfile.lock +0 -79
  100. data/gemfiles/rails_3.0.17.gemfile.lock +0 -79
  101. data/gemfiles/rails_3.0.18.gemfile.lock +0 -79
  102. data/gemfiles/rails_3.0.19.gemfile.lock +0 -79
  103. data/gemfiles/rails_3.0.6.gemfile.lock +0 -79
  104. data/gemfiles/rails_3.0.7.gemfile.lock +0 -79
  105. data/gemfiles/rails_3.0.8.gemfile.lock +0 -79
  106. data/gemfiles/rails_3.0.9.gemfile.lock +0 -79
  107. data/gemfiles/rails_3.1.0.gemfile.lock +0 -82
  108. data/gemfiles/rails_3.1.10.gemfile.lock +0 -47
  109. data/gemfiles/rails_3.1.2.gemfile.lock +0 -80
  110. data/gemfiles/rails_3.1.3.gemfile.lock +0 -80
  111. data/gemfiles/rails_3.1.4.gemfile.lock +0 -80
  112. data/gemfiles/rails_3.1.5.gemfile.lock +0 -47
  113. data/gemfiles/rails_3.1.6.gemfile.lock +0 -47
  114. data/gemfiles/rails_3.1.7.gemfile.lock +0 -47
  115. data/gemfiles/rails_3.1.8.gemfile.lock +0 -47
  116. data/gemfiles/rails_3.1.9.gemfile.lock +0 -47
  117. data/gemfiles/rails_3.2.0.gemfile.lock +0 -80
  118. data/gemfiles/rails_3.2.1.gemfile.lock +0 -80
  119. data/gemfiles/rails_3.2.10.gemfile.lock +0 -80
  120. data/gemfiles/rails_3.2.11.gemfile.lock +0 -80
  121. data/gemfiles/rails_3.2.12.gemfile.lock +0 -80
  122. data/gemfiles/rails_3.2.13.gemfile.lock +0 -80
  123. data/gemfiles/rails_3.2.14.gemfile.lock +0 -80
  124. data/gemfiles/rails_3.2.2.gemfile.lock +0 -80
  125. data/gemfiles/rails_3.2.3.gemfile.lock +0 -80
  126. data/gemfiles/rails_3.2.4.gemfile.lock +0 -80
  127. data/gemfiles/rails_3.2.5.gemfile.lock +0 -80
  128. data/gemfiles/rails_3.2.6.gemfile.lock +0 -80
  129. data/gemfiles/rails_3.2.7.gemfile.lock +0 -80
  130. data/gemfiles/rails_3.2.8.gemfile.lock +0 -80
  131. data/gemfiles/rails_3.2.9.gemfile.lock +0 -80
  132. data/gemfiles/rails_4.0.0.gemfile.lock +0 -84
  133. data/gemfiles/rails_4.0.1.gemfile.lock +0 -84
  134. data/test/connection.rb +0 -22
  135. data/test/helper.rb +0 -63
  136. data/test/models.rb +0 -48
  137. data/test/schema.rb +0 -35
  138. data/test/test_store_base_sti_class.rb +0 -161
data/test/schema.rb DELETED
@@ -1,35 +0,0 @@
1
- ActiveRecord::Schema.define do
2
-
3
- # Please keep these create table statements in alphabetical order
4
- # unless the ordering matters. In which case, define them below
5
-
6
- create_table :authors, :force => true do |t|
7
- t.string :name, :null => false
8
- end
9
-
10
- create_table :posts, :force => true do |t|
11
- t.string :type
12
-
13
- t.integer :author_id
14
- t.string :title, :null => false
15
- t.text :body, :null => false
16
- t.integer :taggings_count, :default => 0
17
- end
18
-
19
- create_table :taggings, :force => true do |t|
20
- t.integer :tag_id
21
-
22
- t.integer :polytag_id
23
- t.string :polytag_type
24
-
25
- t.string :taggable_type
26
- t.integer :taggable_id
27
- end
28
-
29
- create_table :tags, :force => true do |t|
30
- t.string :type
31
- t.string :name
32
- t.integer :taggings_count, :default => 0
33
- end
34
-
35
- end
@@ -1,161 +0,0 @@
1
- require 'helper'
2
- require 'active_record/test_case'
3
-
4
- class TestStoreBaseStiClass < ActiveRecord::TestCase
5
-
6
- def setup
7
- @old_store_base_sti_class = ActiveRecord::Base.store_base_sti_class
8
- ActiveRecord::Base.store_base_sti_class = false
9
-
10
- @thinking_post = SpecialPost.create(:title => 'Thinking', :body => "the body")
11
- @misc_tag = Tag.create(:name => 'Misc')
12
- end
13
-
14
- def teardown
15
- ActiveRecord::Base.store_base_sti_class = @old_store_base_sti_class
16
- end
17
-
18
- def test_polymorphic_belongs_to_assignment_with_inheritance
19
- # should update when assigning a saved record
20
- tagging = Tagging.new
21
- post = SpecialPost.create(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
22
- tagging.taggable = post
23
- assert_equal post.id, tagging.taggable_id
24
- assert_equal "SpecialPost", tagging.taggable_type
25
-
26
- # should update when assigning a new record
27
- tagging = Tagging.new
28
- post = SpecialPost.new(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
29
- tagging.taggable = post
30
- assert_nil tagging.taggable_id
31
- assert_equal "SpecialPost", tagging.taggable_type
32
- end
33
-
34
- def test_polymorphic_has_many_create_model_with_inheritance
35
- post = SpecialPost.new(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
36
-
37
- tagging = @misc_tag.taggings.create(:taggable => post)
38
- assert_equal "SpecialPost", tagging.taggable_type
39
-
40
- post.reload
41
- assert_equal [tagging], post.taggings
42
- end
43
-
44
- def test_polymorphic_has_one_create_model_with_inheritance
45
- post = SpecialPost.new(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
46
-
47
- tagging = @misc_tag.create_tagging(:taggable => post)
48
- assert_equal "SpecialPost", tagging.taggable_type
49
-
50
- post.reload
51
- assert_equal tagging, post.tagging
52
- end
53
-
54
- def test_polymorphic_has_many_create_via_association
55
- tag = SpecialTag.create!(:name => 'Special')
56
- tagging = tag.polytaggings.create!
57
-
58
- assert_equal "SpecialTag", tagging.polytag_type
59
- end
60
-
61
- def test_polymorphic_has_many_through_create_via_association
62
- tag = SpecialTag.create!(:name => 'Special')
63
- post = tag.polytagged_posts.create!(:title => 'To Be or Not To Be?', :body => "the body")
64
-
65
- assert_equal "SpecialTag", tag.polytaggings.first.polytag_type
66
- end
67
-
68
- def test_include_polymorphic_has_one
69
- post = SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
70
- tagging = post.create_tagging(:tag => @misc_tag)
71
-
72
- post = Post.find(post.id, :include => :tagging)
73
- assert_equal tagging, assert_no_queries { post.tagging }
74
- end
75
-
76
- def test_include_polymorphic_has_many
77
- tag = SpecialTag.create!(:name => 'Special')
78
- tag.polytagged_posts << SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
79
- tag.polytagged_posts << @thinking_post
80
-
81
- tag = Tag.find(tag.id, :include => :polytaggings)
82
- assert_equal 2, assert_no_queries { tag.polytaggings.length }
83
- end
84
-
85
- def test_include_polymorphic_has_many_through
86
- tag = SpecialTag.create!(:name => 'Special')
87
- tag.polytagged_posts << SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
88
- tag.polytagged_posts << @thinking_post
89
-
90
- tag = Tag.find(tag.id, :include => :polytagged_posts)
91
- assert_equal 2, assert_no_queries { tag.polytagged_posts.length }
92
- end
93
-
94
- def test_join_polymorhic_has_many
95
- tag = SpecialTag.create!(:name => 'Special')
96
- tag.polytagged_posts << SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
97
- tag.polytagged_posts << @thinking_post
98
-
99
- assert Tag.find_by_id(tag.id, :joins => :polytaggings, :conditions => [ 'taggings.id = ?', tag.polytaggings.first.id ])
100
- end
101
-
102
- def test_join_polymorhic_has_many_through
103
- tag = SpecialTag.create!(:name => 'Special')
104
- tag.polytagged_posts << SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
105
- tag.polytagged_posts << @thinking_post
106
-
107
- assert Tag.find_by_id(tag.id, :joins => :polytagged_posts, :conditions => [ 'posts.id = ?', tag.polytaggings.first.taggable_id ])
108
- end
109
-
110
- def test_has_many_through_polymorphic_has_one
111
- author = Author.create!(:name => 'Bob')
112
- post = Post.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :author => author, :body => "the body")
113
- special_post = SpecialPost.create!(:title => 'IBM Watson''s Jeopardy play', :author => author, :body => "the body")
114
- special_tag = SpecialTag.create!(:name => 'SpecialGeneral')
115
-
116
- taggings = [ post.taggings.create(:tag => special_tag), special_post.taggings.create(:tag => special_tag) ]
117
- assert_equal taggings.sort_by(&:id), author.tagging.sort_by(&:id)
118
- end
119
-
120
- def test_has_many_polymorphic_with_source_type
121
- tag = SpecialTag.create!(:name => 'Special')
122
- tag.polytagged_posts << SpecialPost.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :body => "the body")
123
- tag.polytagged_posts << @thinking_post
124
-
125
- tag.save!
126
- tag.reload
127
-
128
- tag = Tag.find(tag.id)
129
- assert_equal 2, tag.polytagged_posts.length
130
- end
131
-
132
- def test_polymorphic_has_many_through_with_double_sti_on_join_model
133
- tag = SpecialTag.create!(:name => 'Special')
134
- post = @thinking_post
135
-
136
- tag.polytagged_posts << post
137
-
138
-
139
- tag.reload
140
-
141
- assert_equal 1, tag.polytaggings.length
142
-
143
- tagging = tag.polytaggings.first
144
-
145
- assert_equal 'SpecialTag', tagging.polytag_type
146
- assert_equal 'SpecialPost', tagging.taggable_type
147
-
148
- assert_equal tag, tagging.polytag
149
- assert_equal post, tagging.taggable
150
- end
151
-
152
- def test_finder_sql_is_supported
153
- author = Author.create!(:name => 'Bob')
154
- post = Post.create!(:title => 'Budget Forecasts Bigger 2011 Deficit', :author => author, :body => "the body")
155
- special_tag = Tag.create!(:name => 'SpecialGeneral')
156
- post.taggings.create(:tag => special_tag)
157
-
158
- assert_equal [author], special_tag.authors
159
- end
160
-
161
- end