activerecord-turntable 1.0.0 → 1.0.1
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.
- data/.travis.yml +12 -0
- data/README.rdoc +10 -6
- data/Rakefile +11 -3
- data/gemfiles/rails3_0.gemfile +22 -0
- data/gemfiles/rails3_1.gemfile +22 -0
- data/gemfiles/rails3_2.gemfile +22 -0
- data/lib/active_record/turntable/base.rb +1 -1
- data/lib/active_record/turntable/shard.rb +1 -1
- data/lib/active_record/turntable/version.rb +1 -1
- data/lib/generators/templates/turntable.yml +6 -0
- data/spec/active_record/turntable/active_record_ext/clever_load_spec.rb +16 -4
- metadata +113 -35
data/.travis.yml
ADDED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= ActiveRecord::Turntable
|
1
|
+
= ActiveRecord::Turntable {<img src="https://secure.travis-ci.org/drecom/activerecord-turntable.png" />}[http://travis-ci.org/drecom/activerecord-turntable]
|
2
2
|
|
3
3
|
ActiveRecord::Turntable is a database sharding extension for ActiveRecord.
|
4
4
|
|
@@ -26,10 +26,10 @@ generator creates Rails.root/config/turntable.yml
|
|
26
26
|
|
27
27
|
== ActiveRecord::Turntable terms
|
28
28
|
|
29
|
-
*Shard
|
30
|
-
*Cluster - a cluster of shards.
|
31
|
-
*Master - default ActiveRecord::Base's connection
|
32
|
-
*Sequencer - a module that creates global sequence number
|
29
|
+
* Shard
|
30
|
+
* Cluster - a cluster of shards.
|
31
|
+
* Master - default ActiveRecord::Base's connection
|
32
|
+
* Sequencer - a module that creates global sequence number
|
33
33
|
|
34
34
|
== Example
|
35
35
|
|
@@ -57,6 +57,8 @@ example turntable.yml:
|
|
57
57
|
clusters:
|
58
58
|
user_cluster: # <-- cluster name
|
59
59
|
algorithm: range # <-- only range or range_bsearch sharding is supported currently.
|
60
|
+
seq:
|
61
|
+
connection: user_seq_1
|
60
62
|
shards:
|
61
63
|
- connection: user_shard_1 # <-- shard name
|
62
64
|
less_than: 100 # <-- shard range(like mysql partitioning)
|
@@ -267,7 +269,9 @@ To use turntable's ConnectionManagement middleware, add below line to your initi
|
|
267
269
|
== Thanks to
|
268
270
|
ConnectionProxy, Distributed Migration implementation is inspired by Octopus and DataFabric.
|
269
271
|
|
270
|
-
==
|
272
|
+
== License
|
273
|
+
activerecord-turntable is released under the MIT license:
|
274
|
+
|
271
275
|
Copyright (c) 2012 Drecom Co.,Ltd.
|
272
276
|
|
273
277
|
Permission is hereby granted, free of charge, to any person obtaining
|
data/Rakefile
CHANGED
@@ -24,7 +24,11 @@ namespace :turntable do
|
|
24
24
|
task :create => :load_config do
|
25
25
|
database_configs = [ActiveRecord::Base.configurations[RAILS_ENV]] + ActiveRecord::Base.configurations[RAILS_ENV]["shards"].values + ActiveRecord::Base.configurations[RAILS_ENV]["seq"].values
|
26
26
|
database_configs.each do |dbconf|
|
27
|
-
|
27
|
+
command = "mysql "
|
28
|
+
command << "-u #{dbconf["username"]} " if dbconf["username"]
|
29
|
+
command << "-p#{dbconf["password"]} " if dbconf["password"]
|
30
|
+
command << "-h #{dbconf["host"]}" if dbconf["host"]
|
31
|
+
%x{ echo "CREATE DATABASE #{dbconf["database"]}" | #{command} }
|
28
32
|
end
|
29
33
|
end
|
30
34
|
|
@@ -33,7 +37,7 @@ namespace :turntable do
|
|
33
37
|
ActiveRecord::Base.establish_connection RAILS_ENV
|
34
38
|
require 'active_record/turntable'
|
35
39
|
ActiveRecord::Base.send(:include, ActiveRecord::Turntable)
|
36
|
-
ActiveRecord::ConnectionAdapters::SchemaStatements.send(:include, Turntable::Migration::SchemaStatementsExt)
|
40
|
+
ActiveRecord::ConnectionAdapters::SchemaStatements.send(:include, ActiveRecord::Turntable::Migration::SchemaStatementsExt)
|
37
41
|
database_configs = [ActiveRecord::Base.configurations[RAILS_ENV]] + ActiveRecord::Base.configurations[RAILS_ENV]["shards"].values + ActiveRecord::Base.configurations[RAILS_ENV]["seq"].values
|
38
42
|
|
39
43
|
database_configs.each do |dbconf|
|
@@ -92,7 +96,11 @@ namespace :turntable do
|
|
92
96
|
task :drop => :load_config do
|
93
97
|
database_configs = [ActiveRecord::Base.configurations[RAILS_ENV]] + ActiveRecord::Base.configurations[RAILS_ENV]["shards"].values + ActiveRecord::Base.configurations[RAILS_ENV]["seq"].values
|
94
98
|
database_configs.each do |dbconf|
|
95
|
-
|
99
|
+
command = "mysql "
|
100
|
+
command << "-u #{dbconf["username"]} " if dbconf["username"]
|
101
|
+
command << "-p#{dbconf["password"]} " if dbconf["password"]
|
102
|
+
command << "-h #{dbconf["host"]}" if dbconf["host"]
|
103
|
+
%x{ echo "DROP DATABASE #{dbconf["database"]}" | #{command} }
|
96
104
|
end
|
97
105
|
end
|
98
106
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
source :rubygems
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
5
|
+
|
6
|
+
gem 'activerecord', "~> 3.0.0"
|
7
|
+
gem 'activesupport', "~> 3.0.0"
|
8
|
+
gem "sql_tree", "=0.2.0"
|
9
|
+
gem "bsearch", "~>1.5"
|
10
|
+
gem "httpclient"
|
11
|
+
|
12
|
+
# Add dependencies to develop your gem here.
|
13
|
+
# Include everything needed to run rake, tests, features, etc.
|
14
|
+
group :development, :test do
|
15
|
+
gem "rake", "~>0.9.2"
|
16
|
+
gem "rspec"
|
17
|
+
gem "rr"
|
18
|
+
gem "mysql2", "< 0.3"
|
19
|
+
gem "fabrication"
|
20
|
+
gem "faker"
|
21
|
+
gem "activerecord-import"
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
source :rubygems
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
5
|
+
|
6
|
+
gem 'activerecord', "~> 3.1.0"
|
7
|
+
gem 'activesupport', "~> 3.1.0"
|
8
|
+
gem "sql_tree", "=0.2.0"
|
9
|
+
gem "bsearch", "~>1.5"
|
10
|
+
gem "httpclient"
|
11
|
+
|
12
|
+
# Add dependencies to develop your gem here.
|
13
|
+
# Include everything needed to run rake, tests, features, etc.
|
14
|
+
group :development, :test do
|
15
|
+
gem "rake", "~>0.9.2"
|
16
|
+
gem "rspec"
|
17
|
+
gem "rr"
|
18
|
+
gem "mysql2"
|
19
|
+
gem "fabrication"
|
20
|
+
gem "faker"
|
21
|
+
gem "activerecord-import"
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
source :rubygems
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
5
|
+
|
6
|
+
gem 'activerecord', "~> 3.2.0"
|
7
|
+
gem 'activesupport', "~> 3.2.0"
|
8
|
+
gem "sql_tree", "=0.2.0"
|
9
|
+
gem "bsearch", "~>1.5"
|
10
|
+
gem "httpclient"
|
11
|
+
|
12
|
+
# Add dependencies to develop your gem here.
|
13
|
+
# Include everything needed to run rake, tests, features, etc.
|
14
|
+
group :development, :test do
|
15
|
+
gem "rake", "~>0.9.2"
|
16
|
+
gem "rspec"
|
17
|
+
gem "rr"
|
18
|
+
gem "mysql2"
|
19
|
+
gem "fabrication"
|
20
|
+
gem "faker"
|
21
|
+
gem "activerecord-import"
|
22
|
+
end
|
@@ -77,7 +77,7 @@ module ActiveRecord::Turntable
|
|
77
77
|
raise "Please install the #{config['adapter']} adapter: `gem install activerecord-#{config['adapter']}-adapter` (#{e})"
|
78
78
|
end
|
79
79
|
adapter_method = "#{config['adapter']}_connection"
|
80
|
-
ActiveRecord::Base::ConnectionSpecification.new(config, adapter_method)
|
80
|
+
ActiveRecord::Base::ConnectionSpecification.new(config.symbolize_keys, adapter_method)
|
81
81
|
end
|
82
82
|
|
83
83
|
def clear_all_connections!
|
@@ -41,7 +41,7 @@ module ActiveRecord::Turntable
|
|
41
41
|
raise "Please install the #{config['adapter']} adapter: `gem install activerecord-#{config['adapter']}-adapter` (#{e})"
|
42
42
|
end
|
43
43
|
adapter_method = "#{config['adapter']}_connection"
|
44
|
-
ActiveRecord::Base::ConnectionSpecification.new(config, adapter_method)
|
44
|
+
ActiveRecord::Base::ConnectionSpecification.new(config.symbolize_keys, adapter_method)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -6,6 +6,8 @@ development:
|
|
6
6
|
clusters:
|
7
7
|
user_cluster:
|
8
8
|
algorithm: range
|
9
|
+
seq:
|
10
|
+
connection: user_seq_1
|
9
11
|
shards:
|
10
12
|
- connection: user_shard_1
|
11
13
|
less_than: 100
|
@@ -18,6 +20,8 @@ test:
|
|
18
20
|
clusters:
|
19
21
|
user_cluster:
|
20
22
|
algorithm: range
|
23
|
+
seq:
|
24
|
+
connection: user_seq_1
|
21
25
|
shards:
|
22
26
|
- connection: user_shard_1
|
23
27
|
less_than: 20000
|
@@ -30,6 +34,8 @@ production:
|
|
30
34
|
clusters:
|
31
35
|
user_cluster:
|
32
36
|
algorithm: range
|
37
|
+
seq:
|
38
|
+
connection: user_seq_1
|
33
39
|
shards:
|
34
40
|
- connection: user_shard_1
|
35
41
|
less_than: 20000
|
@@ -34,8 +34,14 @@ describe ActiveRecord::Turntable::ActiveRecordExt::CleverLoad do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should target loaded" do
|
37
|
-
|
38
|
-
|
37
|
+
if ActiveRecord::VERSION::STRING < "3.1"
|
38
|
+
@users.each do |user|
|
39
|
+
user.loaded_user_status?.should be_true
|
40
|
+
end
|
41
|
+
else
|
42
|
+
@users.each do |user|
|
43
|
+
user.association(:user_status).loaded?.should be_true
|
44
|
+
end
|
39
45
|
end
|
40
46
|
end
|
41
47
|
|
@@ -60,8 +66,14 @@ describe ActiveRecord::Turntable::ActiveRecordExt::CleverLoad do
|
|
60
66
|
end
|
61
67
|
|
62
68
|
it "should target loaded" do
|
63
|
-
|
64
|
-
|
69
|
+
if ActiveRecord::VERSION::STRING < "3.1"
|
70
|
+
@user_statuses.each do |user_status|
|
71
|
+
user_status.loaded_user?.should be_true
|
72
|
+
end
|
73
|
+
else
|
74
|
+
@user_statuses.each do |user_status|
|
75
|
+
user_status.association(:user).loaded?.should be_true
|
76
|
+
end
|
65
77
|
end
|
66
78
|
end
|
67
79
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-turntable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.0.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: activesupport
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,21 +37,31 @@ dependencies:
|
|
32
37
|
version: 3.0.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 3.0.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: sql_tree
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
|
-
- - =
|
51
|
+
- - '='
|
42
52
|
- !ruby/object:Gem::Version
|
43
53
|
version: 0.2.0
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.2.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: bsearch
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '1.5'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.5'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: httpclient
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rake
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ~>
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 0.9.2
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.9.2
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: rspec
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: rr
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: '0'
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: mysql2
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ! '>='
|
@@ -109,10 +149,15 @@ dependencies:
|
|
109
149
|
version: '0'
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
113
158
|
- !ruby/object:Gem::Dependency
|
114
159
|
name: fabrication
|
115
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
116
161
|
none: false
|
117
162
|
requirements:
|
118
163
|
- - ! '>='
|
@@ -120,10 +165,15 @@ dependencies:
|
|
120
165
|
version: '0'
|
121
166
|
type: :development
|
122
167
|
prerelease: false
|
123
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
124
174
|
- !ruby/object:Gem::Dependency
|
125
175
|
name: faker
|
126
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
127
177
|
none: false
|
128
178
|
requirements:
|
129
179
|
- - ! '>='
|
@@ -131,10 +181,15 @@ dependencies:
|
|
131
181
|
version: '0'
|
132
182
|
type: :development
|
133
183
|
prerelease: false
|
134
|
-
version_requirements:
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
135
190
|
- !ruby/object:Gem::Dependency
|
136
191
|
name: activerecord-import
|
137
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
138
193
|
none: false
|
139
194
|
requirements:
|
140
195
|
- - ! '>='
|
@@ -142,10 +197,15 @@ dependencies:
|
|
142
197
|
version: '0'
|
143
198
|
type: :development
|
144
199
|
prerelease: false
|
145
|
-
version_requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
146
206
|
- !ruby/object:Gem::Dependency
|
147
207
|
name: pry
|
148
|
-
requirement:
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
149
209
|
none: false
|
150
210
|
requirements:
|
151
211
|
- - ! '>='
|
@@ -153,10 +213,15 @@ dependencies:
|
|
153
213
|
version: '0'
|
154
214
|
type: :development
|
155
215
|
prerelease: false
|
156
|
-
version_requirements:
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
157
222
|
- !ruby/object:Gem::Dependency
|
158
223
|
name: guard-rspec
|
159
|
-
requirement:
|
224
|
+
requirement: !ruby/object:Gem::Requirement
|
160
225
|
none: false
|
161
226
|
requirements:
|
162
227
|
- - ! '>='
|
@@ -164,10 +229,15 @@ dependencies:
|
|
164
229
|
version: '0'
|
165
230
|
type: :development
|
166
231
|
prerelease: false
|
167
|
-
version_requirements:
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
234
|
+
requirements:
|
235
|
+
- - ! '>='
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '0'
|
168
238
|
- !ruby/object:Gem::Dependency
|
169
239
|
name: growl
|
170
|
-
requirement:
|
240
|
+
requirement: !ruby/object:Gem::Requirement
|
171
241
|
none: false
|
172
242
|
requirements:
|
173
243
|
- - ! '>='
|
@@ -175,7 +245,12 @@ dependencies:
|
|
175
245
|
version: '0'
|
176
246
|
type: :development
|
177
247
|
prerelease: false
|
178
|
-
version_requirements:
|
248
|
+
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
250
|
+
requirements:
|
251
|
+
- - ! '>='
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
179
254
|
description: AcviveRecord Sharding plugin
|
180
255
|
email:
|
181
256
|
executables: []
|
@@ -187,12 +262,16 @@ files:
|
|
187
262
|
- .document
|
188
263
|
- .gitignore
|
189
264
|
- .rspec
|
265
|
+
- .travis.yml
|
190
266
|
- Gemfile
|
191
267
|
- Guardfile
|
192
268
|
- LICENSE.txt
|
193
269
|
- README.rdoc
|
194
270
|
- Rakefile
|
195
271
|
- activerecord-turntable.gemspec
|
272
|
+
- gemfiles/rails3_0.gemfile
|
273
|
+
- gemfiles/rails3_1.gemfile
|
274
|
+
- gemfiles/rails3_2.gemfile
|
196
275
|
- lib/active_record/turntable.rb
|
197
276
|
- lib/active_record/turntable/active_record_ext.rb
|
198
277
|
- lib/active_record/turntable/active_record_ext/.gitkeep
|
@@ -334,7 +413,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
334
413
|
version: '0'
|
335
414
|
requirements: []
|
336
415
|
rubyforge_project: activerecord-turntable
|
337
|
-
rubygems_version: 1.8.
|
416
|
+
rubygems_version: 1.8.23
|
338
417
|
signing_key:
|
339
418
|
specification_version: 3
|
340
419
|
summary: ActiveRecord Sharding plugin
|
@@ -364,4 +443,3 @@ test_files:
|
|
364
443
|
- spec/spec_helper.rb
|
365
444
|
- spec/test_models.rb
|
366
445
|
- spec/turntable_helper.rb
|
367
|
-
has_rdoc:
|