switchman 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +30 -0
  3. data/app/models/switchman/shard.rb +502 -0
  4. data/db/migrate/20130328212039_create_switchman_shards.rb +9 -0
  5. data/db/migrate/20130328224244_create_default_shard.rb +9 -0
  6. data/lib/switchman.rb +9 -0
  7. data/lib/switchman/active_record/abstract_adapter.rb +11 -0
  8. data/lib/switchman/active_record/association.rb +108 -0
  9. data/lib/switchman/active_record/attribute_methods.rb +104 -0
  10. data/lib/switchman/active_record/base.rb +95 -0
  11. data/lib/switchman/active_record/calculations.rb +63 -0
  12. data/lib/switchman/active_record/connection_handler.rb +147 -0
  13. data/lib/switchman/active_record/connection_pool.rb +117 -0
  14. data/lib/switchman/active_record/finder_methods.rb +25 -0
  15. data/lib/switchman/active_record/log_subscriber.rb +43 -0
  16. data/lib/switchman/active_record/postgresql_adapter.rb +13 -0
  17. data/lib/switchman/active_record/query_cache.rb +12 -0
  18. data/lib/switchman/active_record/query_methods.rb +184 -0
  19. data/lib/switchman/active_record/relation.rb +69 -0
  20. data/lib/switchman/cache_extensions.rb +12 -0
  21. data/lib/switchman/connection_pool_proxy.rb +62 -0
  22. data/lib/switchman/database_server.rb +197 -0
  23. data/lib/switchman/default_shard.rb +28 -0
  24. data/lib/switchman/engine.rb +91 -0
  25. data/lib/switchman/r_spec_helper.rb +124 -0
  26. data/lib/switchman/shackles.rb +34 -0
  27. data/lib/switchman/test_helper.rb +65 -0
  28. data/lib/switchman/version.rb +3 -0
  29. data/spec/dummy/Rakefile +7 -0
  30. data/spec/dummy/app/models/appendage.rb +24 -0
  31. data/spec/dummy/app/models/digit.rb +9 -0
  32. data/spec/dummy/app/models/feature.rb +5 -0
  33. data/spec/dummy/app/models/mirror_user.rb +5 -0
  34. data/spec/dummy/app/models/user.rb +23 -0
  35. data/spec/dummy/config.ru +4 -0
  36. data/spec/dummy/config/application.rb +59 -0
  37. data/spec/dummy/config/boot.rb +10 -0
  38. data/spec/dummy/config/database.yml +17 -0
  39. data/spec/dummy/config/database.yml.example +25 -0
  40. data/spec/dummy/config/environment.rb +5 -0
  41. data/spec/dummy/config/environments/development.rb +37 -0
  42. data/spec/dummy/config/environments/production.rb +67 -0
  43. data/spec/dummy/config/environments/test.rb +37 -0
  44. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  45. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  46. data/spec/dummy/config/initializers/session_store.rb +8 -0
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/spec/dummy/config/routes.rb +8 -0
  49. data/spec/dummy/db/migrate/20130403132607_create_users.rb +10 -0
  50. data/spec/dummy/db/migrate/20130411202442_create_appendages.rb +10 -0
  51. data/spec/dummy/db/migrate/20130411202551_create_mirror_users.rb +9 -0
  52. data/spec/dummy/db/migrate/20131022202028_create_digits.rb +10 -0
  53. data/spec/dummy/db/migrate/20131206172923_create_features.rb +12 -0
  54. data/spec/dummy/db/schema.rb +57 -0
  55. data/spec/dummy/log/development.log +504 -0
  56. data/spec/dummy/log/test.log +29907 -0
  57. data/spec/dummy/script/rails +6 -0
  58. data/spec/dummy/tmp/cache/2E2/830/shard%2F2 +0 -0
  59. data/spec/dummy/tmp/cache/2E3/840/shard%2F3 +0 -0
  60. data/spec/dummy/tmp/cache/313/970/shard%2F30 +0 -0
  61. data/spec/dummy/tmp/cache/314/980/shard%2F31 +0 -0
  62. data/spec/dummy/tmp/cache/316/980/shard%2F15 +1 -0
  63. data/spec/dummy/tmp/cache/316/9D0/shard%2F60 +0 -0
  64. data/spec/dummy/tmp/cache/317/990/shard%2F16 +0 -0
  65. data/spec/dummy/tmp/cache/317/9C0/shard%2F43 +1 -0
  66. data/spec/dummy/tmp/cache/317/9E0/shard%2F61 +0 -0
  67. data/spec/dummy/tmp/cache/318/9A0/shard%2F17 +0 -0
  68. data/spec/dummy/tmp/cache/318/9D0/shard%2F44 +0 -0
  69. data/spec/dummy/tmp/cache/318/9F0/shard%2F62 +1 -0
  70. data/spec/dummy/tmp/cache/319/9E0/shard%2F45 +0 -0
  71. data/spec/dummy/tmp/cache/319/9F0/shard%2F54 +1 -0
  72. data/spec/dummy/tmp/cache/319/A10/shard%2F72 +1 -0
  73. data/spec/dummy/tmp/cache/319/A30/shard%2F90 +0 -0
  74. data/spec/dummy/tmp/cache/31B/9E0/shard%2F29 +1 -0
  75. data/spec/dummy/tmp/cache/321/AA0/shard%2F89 +0 -0
  76. data/spec/dummy/tmp/cache/322/AC0/shard%2F99 +1 -0
  77. data/spec/dummy/tmp/cache/344/D70/shard%2F103 +1 -0
  78. data/spec/dummy/tmp/cache/345/D80/shard%2F104 +0 -0
  79. data/spec/dummy/tmp/cache/345/DB0/shard%2F131 +1 -0
  80. data/spec/dummy/tmp/cache/345/DC0/shard%2F140 +0 -0
  81. data/spec/dummy/tmp/cache/346/D90/shard%2F105 +0 -0
  82. data/spec/dummy/tmp/cache/346/DB0/shard%2F123 +0 -0
  83. data/spec/dummy/tmp/cache/346/DD0/shard%2F222 +1 -0
  84. data/spec/dummy/tmp/cache/346/DE0/shard%2F150 +0 -0
  85. data/spec/dummy/tmp/cache/346/DF0/shard%2F240 +1 -0
  86. data/spec/dummy/tmp/cache/347/DA0/shard%2F106 +1 -0
  87. data/spec/dummy/tmp/cache/347/DC0/shard%2F124 +0 -0
  88. data/spec/dummy/tmp/cache/347/DC0/shard%2F205 +1 -0
  89. data/spec/dummy/tmp/cache/347/E10/shard%2F250 +1 -0
  90. data/spec/dummy/tmp/cache/348/DF0/shard%2F143 +1 -0
  91. data/spec/dummy/tmp/cache/348/DF0/shard%2F224 +1 -0
  92. data/spec/dummy/tmp/cache/348/E10/shard%2F161 +1 -0
  93. data/spec/dummy/tmp/cache/349/DD0/shard%2F117 +1 -0
  94. data/spec/dummy/tmp/cache/349/E40/shard%2F180 +1 -0
  95. data/spec/dummy/tmp/cache/34A/DF0/shard%2F127 +1 -0
  96. data/spec/dummy/tmp/cache/34A/DF0/shard%2F208 +1 -0
  97. data/spec/dummy/tmp/cache/34A/E10/shard%2F145 +1 -0
  98. data/spec/dummy/tmp/cache/34A/E60/shard%2F190 +1 -0
  99. data/spec/dummy/tmp/cache/34B/E30/shard%2F155 +1 -0
  100. data/spec/dummy/tmp/cache/34D/E30/shard%2F139 +0 -0
  101. data/spec/dummy/tmp/cache/34E/E50/shard%2F149 +0 -0
  102. data/spec/dummy/tmp/cache/353/EF0/shard%2F199 +1 -0
  103. data/spec/dummy/tmp/cache/3A4/E90/shard%2F10003 +1 -0
  104. data/spec/dummy/tmp/cache/3A5/ED0/shard%2F10031 +1 -0
  105. data/spec/dummy/tmp/cache/3A9/EF0/shard%2F10017 +1 -0
  106. data/spec/lib/active_record/association_spec.rb +305 -0
  107. data/spec/lib/active_record/attribute_methods_spec.rb +108 -0
  108. data/spec/lib/active_record/base_spec.rb +66 -0
  109. data/spec/lib/active_record/calculations_spec.rb +119 -0
  110. data/spec/lib/active_record/connection_handler_spec.rb +45 -0
  111. data/spec/lib/active_record/connection_pool_spec.rb +23 -0
  112. data/spec/lib/active_record/finder_methods_spec.rb +29 -0
  113. data/spec/lib/active_record/query_cache_spec.rb +20 -0
  114. data/spec/lib/active_record/query_methods_spec.rb +130 -0
  115. data/spec/lib/active_record/relation_spec.rb +38 -0
  116. data/spec/lib/cache_extensions_spec.rb +27 -0
  117. data/spec/lib/connection_pool_proxy_spec.rb +13 -0
  118. data/spec/lib/database_server_spec.rb +154 -0
  119. data/spec/lib/shackles_spec.rb +147 -0
  120. data/spec/models/shard_spec.rb +382 -0
  121. data/spec/spec_helper.rb +32 -0
  122. metadata +344 -0
@@ -0,0 +1,32 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ require_dependency 'switchman/r_spec_helper'
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc,
10
+ # in spec/support/ and its subdirectories.
11
+ Dir[Rails.root.join("../spec/support/**/*.rb")].each {|f| require f}
12
+
13
+ RSpec.configure do |config|
14
+ # ## Mock Framework
15
+ config.mock_with :mocha
16
+
17
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
18
+ # examples within a transaction, remove the following line or assign false
19
+ # instead of true.
20
+ config.use_transactional_fixtures = true
21
+
22
+ # If true, the base class of anonymous controllers will be inferred
23
+ # automatically. This will be the default behavior in future versions of
24
+ # rspec-rails.
25
+ config.infer_base_class_for_anonymous_controllers = false
26
+
27
+ # Run specs in random order to surface order dependencies. If you find an
28
+ # order dependency and want to debug it, you can fix the order by providing
29
+ # the seed, which is printed after each run.
30
+ # --seed 1234
31
+ config.order = "random"
32
+ end
metadata ADDED
@@ -0,0 +1,344 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: switchman
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Cody Cutrer
8
+ - James Williams
9
+ - Jacob Fugal
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-12-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.13
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: 3.2.13
29
+ - !ruby/object:Gem::Dependency
30
+ name: shackles
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: 1.0.2
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ version: 1.0.2
43
+ - !ruby/object:Gem::Dependency
44
+ name: debugger
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: pg
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec-rails
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: '2.0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: sqlite3
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ description: Sharding
100
+ email:
101
+ - cody@instructure.com
102
+ executables: []
103
+ extensions: []
104
+ extra_rdoc_files: []
105
+ files:
106
+ - app/models/switchman/shard.rb
107
+ - db/migrate/20130328212039_create_switchman_shards.rb
108
+ - db/migrate/20130328224244_create_default_shard.rb
109
+ - lib/switchman/active_record/abstract_adapter.rb
110
+ - lib/switchman/active_record/association.rb
111
+ - lib/switchman/active_record/attribute_methods.rb
112
+ - lib/switchman/active_record/base.rb
113
+ - lib/switchman/active_record/calculations.rb
114
+ - lib/switchman/active_record/connection_handler.rb
115
+ - lib/switchman/active_record/connection_pool.rb
116
+ - lib/switchman/active_record/finder_methods.rb
117
+ - lib/switchman/active_record/log_subscriber.rb
118
+ - lib/switchman/active_record/postgresql_adapter.rb
119
+ - lib/switchman/active_record/query_cache.rb
120
+ - lib/switchman/active_record/query_methods.rb
121
+ - lib/switchman/active_record/relation.rb
122
+ - lib/switchman/cache_extensions.rb
123
+ - lib/switchman/connection_pool_proxy.rb
124
+ - lib/switchman/database_server.rb
125
+ - lib/switchman/default_shard.rb
126
+ - lib/switchman/engine.rb
127
+ - lib/switchman/r_spec_helper.rb
128
+ - lib/switchman/shackles.rb
129
+ - lib/switchman/test_helper.rb
130
+ - lib/switchman/version.rb
131
+ - lib/switchman.rb
132
+ - Rakefile
133
+ - spec/dummy/app/models/appendage.rb
134
+ - spec/dummy/app/models/digit.rb
135
+ - spec/dummy/app/models/feature.rb
136
+ - spec/dummy/app/models/mirror_user.rb
137
+ - spec/dummy/app/models/user.rb
138
+ - spec/dummy/config/application.rb
139
+ - spec/dummy/config/boot.rb
140
+ - spec/dummy/config/database.yml
141
+ - spec/dummy/config/database.yml.example
142
+ - spec/dummy/config/environment.rb
143
+ - spec/dummy/config/environments/development.rb
144
+ - spec/dummy/config/environments/production.rb
145
+ - spec/dummy/config/environments/test.rb
146
+ - spec/dummy/config/initializers/backtrace_silencers.rb
147
+ - spec/dummy/config/initializers/secret_token.rb
148
+ - spec/dummy/config/initializers/session_store.rb
149
+ - spec/dummy/config/initializers/wrap_parameters.rb
150
+ - spec/dummy/config/routes.rb
151
+ - spec/dummy/config.ru
152
+ - spec/dummy/db/migrate/20130403132607_create_users.rb
153
+ - spec/dummy/db/migrate/20130411202442_create_appendages.rb
154
+ - spec/dummy/db/migrate/20130411202551_create_mirror_users.rb
155
+ - spec/dummy/db/migrate/20131022202028_create_digits.rb
156
+ - spec/dummy/db/migrate/20131206172923_create_features.rb
157
+ - spec/dummy/db/schema.rb
158
+ - spec/dummy/log/development.log
159
+ - spec/dummy/log/test.log
160
+ - spec/dummy/Rakefile
161
+ - spec/dummy/script/rails
162
+ - spec/dummy/tmp/cache/2E2/830/shard%2F2
163
+ - spec/dummy/tmp/cache/2E3/840/shard%2F3
164
+ - spec/dummy/tmp/cache/313/970/shard%2F30
165
+ - spec/dummy/tmp/cache/314/980/shard%2F31
166
+ - spec/dummy/tmp/cache/316/980/shard%2F15
167
+ - spec/dummy/tmp/cache/316/9D0/shard%2F60
168
+ - spec/dummy/tmp/cache/317/990/shard%2F16
169
+ - spec/dummy/tmp/cache/317/9C0/shard%2F43
170
+ - spec/dummy/tmp/cache/317/9E0/shard%2F61
171
+ - spec/dummy/tmp/cache/318/9A0/shard%2F17
172
+ - spec/dummy/tmp/cache/318/9D0/shard%2F44
173
+ - spec/dummy/tmp/cache/318/9F0/shard%2F62
174
+ - spec/dummy/tmp/cache/319/9E0/shard%2F45
175
+ - spec/dummy/tmp/cache/319/9F0/shard%2F54
176
+ - spec/dummy/tmp/cache/319/A10/shard%2F72
177
+ - spec/dummy/tmp/cache/319/A30/shard%2F90
178
+ - spec/dummy/tmp/cache/31B/9E0/shard%2F29
179
+ - spec/dummy/tmp/cache/321/AA0/shard%2F89
180
+ - spec/dummy/tmp/cache/322/AC0/shard%2F99
181
+ - spec/dummy/tmp/cache/344/D70/shard%2F103
182
+ - spec/dummy/tmp/cache/345/D80/shard%2F104
183
+ - spec/dummy/tmp/cache/345/DB0/shard%2F131
184
+ - spec/dummy/tmp/cache/345/DC0/shard%2F140
185
+ - spec/dummy/tmp/cache/346/D90/shard%2F105
186
+ - spec/dummy/tmp/cache/346/DB0/shard%2F123
187
+ - spec/dummy/tmp/cache/346/DD0/shard%2F222
188
+ - spec/dummy/tmp/cache/346/DE0/shard%2F150
189
+ - spec/dummy/tmp/cache/346/DF0/shard%2F240
190
+ - spec/dummy/tmp/cache/347/DA0/shard%2F106
191
+ - spec/dummy/tmp/cache/347/DC0/shard%2F124
192
+ - spec/dummy/tmp/cache/347/DC0/shard%2F205
193
+ - spec/dummy/tmp/cache/347/E10/shard%2F250
194
+ - spec/dummy/tmp/cache/348/DF0/shard%2F143
195
+ - spec/dummy/tmp/cache/348/DF0/shard%2F224
196
+ - spec/dummy/tmp/cache/348/E10/shard%2F161
197
+ - spec/dummy/tmp/cache/349/DD0/shard%2F117
198
+ - spec/dummy/tmp/cache/349/E40/shard%2F180
199
+ - spec/dummy/tmp/cache/34A/DF0/shard%2F127
200
+ - spec/dummy/tmp/cache/34A/DF0/shard%2F208
201
+ - spec/dummy/tmp/cache/34A/E10/shard%2F145
202
+ - spec/dummy/tmp/cache/34A/E60/shard%2F190
203
+ - spec/dummy/tmp/cache/34B/E30/shard%2F155
204
+ - spec/dummy/tmp/cache/34D/E30/shard%2F139
205
+ - spec/dummy/tmp/cache/34E/E50/shard%2F149
206
+ - spec/dummy/tmp/cache/353/EF0/shard%2F199
207
+ - spec/dummy/tmp/cache/3A4/E90/shard%2F10003
208
+ - spec/dummy/tmp/cache/3A5/ED0/shard%2F10031
209
+ - spec/dummy/tmp/cache/3A9/EF0/shard%2F10017
210
+ - spec/lib/active_record/association_spec.rb
211
+ - spec/lib/active_record/attribute_methods_spec.rb
212
+ - spec/lib/active_record/base_spec.rb
213
+ - spec/lib/active_record/calculations_spec.rb
214
+ - spec/lib/active_record/connection_handler_spec.rb
215
+ - spec/lib/active_record/connection_pool_spec.rb
216
+ - spec/lib/active_record/finder_methods_spec.rb
217
+ - spec/lib/active_record/query_cache_spec.rb
218
+ - spec/lib/active_record/query_methods_spec.rb
219
+ - spec/lib/active_record/relation_spec.rb
220
+ - spec/lib/cache_extensions_spec.rb
221
+ - spec/lib/connection_pool_proxy_spec.rb
222
+ - spec/lib/database_server_spec.rb
223
+ - spec/lib/shackles_spec.rb
224
+ - spec/models/shard_spec.rb
225
+ - spec/spec_helper.rb
226
+ homepage: http://www.instructure.com/
227
+ licenses:
228
+ - MIT
229
+ metadata: {}
230
+ post_install_message:
231
+ rdoc_options: []
232
+ require_paths:
233
+ - lib
234
+ required_ruby_version: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - '>='
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ required_rubygems_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '>='
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ requirements: []
245
+ rubyforge_project:
246
+ rubygems_version: 2.0.3
247
+ signing_key:
248
+ specification_version: 4
249
+ summary: Rails 3 sharding magic
250
+ test_files:
251
+ - spec/dummy/app/models/appendage.rb
252
+ - spec/dummy/app/models/digit.rb
253
+ - spec/dummy/app/models/feature.rb
254
+ - spec/dummy/app/models/mirror_user.rb
255
+ - spec/dummy/app/models/user.rb
256
+ - spec/dummy/config/application.rb
257
+ - spec/dummy/config/boot.rb
258
+ - spec/dummy/config/database.yml
259
+ - spec/dummy/config/database.yml.example
260
+ - spec/dummy/config/environment.rb
261
+ - spec/dummy/config/environments/development.rb
262
+ - spec/dummy/config/environments/production.rb
263
+ - spec/dummy/config/environments/test.rb
264
+ - spec/dummy/config/initializers/backtrace_silencers.rb
265
+ - spec/dummy/config/initializers/secret_token.rb
266
+ - spec/dummy/config/initializers/session_store.rb
267
+ - spec/dummy/config/initializers/wrap_parameters.rb
268
+ - spec/dummy/config/routes.rb
269
+ - spec/dummy/config.ru
270
+ - spec/dummy/db/migrate/20130403132607_create_users.rb
271
+ - spec/dummy/db/migrate/20130411202442_create_appendages.rb
272
+ - spec/dummy/db/migrate/20130411202551_create_mirror_users.rb
273
+ - spec/dummy/db/migrate/20131022202028_create_digits.rb
274
+ - spec/dummy/db/migrate/20131206172923_create_features.rb
275
+ - spec/dummy/db/schema.rb
276
+ - spec/dummy/log/development.log
277
+ - spec/dummy/log/test.log
278
+ - spec/dummy/Rakefile
279
+ - spec/dummy/script/rails
280
+ - spec/dummy/tmp/cache/2E2/830/shard%2F2
281
+ - spec/dummy/tmp/cache/2E3/840/shard%2F3
282
+ - spec/dummy/tmp/cache/313/970/shard%2F30
283
+ - spec/dummy/tmp/cache/314/980/shard%2F31
284
+ - spec/dummy/tmp/cache/316/980/shard%2F15
285
+ - spec/dummy/tmp/cache/316/9D0/shard%2F60
286
+ - spec/dummy/tmp/cache/317/990/shard%2F16
287
+ - spec/dummy/tmp/cache/317/9C0/shard%2F43
288
+ - spec/dummy/tmp/cache/317/9E0/shard%2F61
289
+ - spec/dummy/tmp/cache/318/9A0/shard%2F17
290
+ - spec/dummy/tmp/cache/318/9D0/shard%2F44
291
+ - spec/dummy/tmp/cache/318/9F0/shard%2F62
292
+ - spec/dummy/tmp/cache/319/9E0/shard%2F45
293
+ - spec/dummy/tmp/cache/319/9F0/shard%2F54
294
+ - spec/dummy/tmp/cache/319/A10/shard%2F72
295
+ - spec/dummy/tmp/cache/319/A30/shard%2F90
296
+ - spec/dummy/tmp/cache/31B/9E0/shard%2F29
297
+ - spec/dummy/tmp/cache/321/AA0/shard%2F89
298
+ - spec/dummy/tmp/cache/322/AC0/shard%2F99
299
+ - spec/dummy/tmp/cache/344/D70/shard%2F103
300
+ - spec/dummy/tmp/cache/345/D80/shard%2F104
301
+ - spec/dummy/tmp/cache/345/DB0/shard%2F131
302
+ - spec/dummy/tmp/cache/345/DC0/shard%2F140
303
+ - spec/dummy/tmp/cache/346/D90/shard%2F105
304
+ - spec/dummy/tmp/cache/346/DB0/shard%2F123
305
+ - spec/dummy/tmp/cache/346/DD0/shard%2F222
306
+ - spec/dummy/tmp/cache/346/DE0/shard%2F150
307
+ - spec/dummy/tmp/cache/346/DF0/shard%2F240
308
+ - spec/dummy/tmp/cache/347/DA0/shard%2F106
309
+ - spec/dummy/tmp/cache/347/DC0/shard%2F124
310
+ - spec/dummy/tmp/cache/347/DC0/shard%2F205
311
+ - spec/dummy/tmp/cache/347/E10/shard%2F250
312
+ - spec/dummy/tmp/cache/348/DF0/shard%2F143
313
+ - spec/dummy/tmp/cache/348/DF0/shard%2F224
314
+ - spec/dummy/tmp/cache/348/E10/shard%2F161
315
+ - spec/dummy/tmp/cache/349/DD0/shard%2F117
316
+ - spec/dummy/tmp/cache/349/E40/shard%2F180
317
+ - spec/dummy/tmp/cache/34A/DF0/shard%2F127
318
+ - spec/dummy/tmp/cache/34A/DF0/shard%2F208
319
+ - spec/dummy/tmp/cache/34A/E10/shard%2F145
320
+ - spec/dummy/tmp/cache/34A/E60/shard%2F190
321
+ - spec/dummy/tmp/cache/34B/E30/shard%2F155
322
+ - spec/dummy/tmp/cache/34D/E30/shard%2F139
323
+ - spec/dummy/tmp/cache/34E/E50/shard%2F149
324
+ - spec/dummy/tmp/cache/353/EF0/shard%2F199
325
+ - spec/dummy/tmp/cache/3A4/E90/shard%2F10003
326
+ - spec/dummy/tmp/cache/3A5/ED0/shard%2F10031
327
+ - spec/dummy/tmp/cache/3A9/EF0/shard%2F10017
328
+ - spec/lib/active_record/association_spec.rb
329
+ - spec/lib/active_record/attribute_methods_spec.rb
330
+ - spec/lib/active_record/base_spec.rb
331
+ - spec/lib/active_record/calculations_spec.rb
332
+ - spec/lib/active_record/connection_handler_spec.rb
333
+ - spec/lib/active_record/connection_pool_spec.rb
334
+ - spec/lib/active_record/finder_methods_spec.rb
335
+ - spec/lib/active_record/query_cache_spec.rb
336
+ - spec/lib/active_record/query_methods_spec.rb
337
+ - spec/lib/active_record/relation_spec.rb
338
+ - spec/lib/cache_extensions_spec.rb
339
+ - spec/lib/connection_pool_proxy_spec.rb
340
+ - spec/lib/database_server_spec.rb
341
+ - spec/lib/shackles_spec.rb
342
+ - spec/models/shard_spec.rb
343
+ - spec/spec_helper.rb
344
+ has_rdoc: