ar-octopus 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.rubocop_todo.yml +19 -15
- data/.ruby-version +1 -1
- data/Gemfile +1 -1
- data/Rakefile +1 -1
- data/gemfiles/rails32.gemfile +1 -1
- data/gemfiles/rails4.gemfile +1 -1
- data/gemfiles/rails41.gemfile +1 -1
- data/lib/octopus.rb +1 -1
- data/lib/octopus/proxy.rb +3 -3
- data/lib/octopus/relation_proxy.rb +12 -21
- data/lib/octopus/scope_proxy.rb +12 -6
- data/lib/octopus/shard_tracking.rb +2 -7
- data/lib/octopus/version.rb +1 -1
- data/lib/tasks/octopus.rake +2 -2
- data/sample_app/Gemfile +3 -3
- data/sample_app/lib/tasks/cucumber.rake +43 -44
- data/spec/octopus/model_spec.rb +0 -4
- data/spec/octopus/relation_proxy_spec.rb +2 -2
- data/spec/octopus/scope_proxy_spec.rb +22 -22
- metadata +34 -37
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NjhiZjAwMTc2ZDZjZGQxNjZlYzBlODJiZjcwN2NlOWNkNmU1Y2E0Yg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 663045a0938adf065becc68b2ed936fdadca804b
|
4
|
+
data.tar.gz: bd3e9ce12b5c7c33f15c76ee2f138c37953a775a
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NTRhZDNkNGUzZDM4NWU2NTUzOTNlZTA3YjU0NTRiNmE2MDViMTQyODkwZjdm
|
11
|
-
ZTIzMWQxY2E1ZWYzZTRkMjQyNzVmZTA2ZDIxZmJlYzJkM2JmNjk=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YTFhZjg1ZWEwMGE0YzYyNDIzOWI5ZTU1ZTkwNTQ1OGJmYTg3Mjc0Y2I1MWY2
|
14
|
-
Y2QxNTMxZTBiMzgzNzYwOTZjYTY4MmFkYjg1ZTg2YzMxMTU0ZjkyZDRlMjk0
|
15
|
-
YzZmYzU0NjkzOGYxYTU5Yzk4ZDc4ZWRkMjhhMTY2ZjQ1OTUyOWU=
|
6
|
+
metadata.gz: 7da33ad1580e5b30fea1a94182f8ccb7f8ac718547bfb9338336786c146fd04a465ec0231ab93af5f19d76dfe13d5fd62fed745cfbf251ed2793f143f1e17db4
|
7
|
+
data.tar.gz: 3b6bb393f346d75b9ff859996c625274a16dd7a00bac901c8ff09191f1b12a3a78191d05ba7fab8492f596420bd061a625931ca0c1b120cdf9708cb3ff5fc1d1
|
data/.rubocop_todo.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on 2014-
|
2
|
+
# on 2014-09-25 20:13:18 -0700 using RuboCop version 0.26.1.
|
3
3
|
# The point is for the user to remove these configuration records
|
4
4
|
# one by one as the offenses are removed from the code base.
|
5
5
|
# Note that changes in the inspected code, or installation of new
|
@@ -15,14 +15,28 @@ Lint/HandleExceptions:
|
|
15
15
|
|
16
16
|
# Offense count: 1
|
17
17
|
# Configuration parameters: CountComments.
|
18
|
-
|
18
|
+
Metrics/ClassLength:
|
19
19
|
Max: 324
|
20
20
|
|
21
21
|
# Offense count: 3
|
22
|
-
|
22
|
+
Metrics/CyclomaticComplexity:
|
23
23
|
Max: 14
|
24
24
|
|
25
|
-
# Offense count:
|
25
|
+
# Offense count: 300
|
26
|
+
# Configuration parameters: AllowURI, URISchemes.
|
27
|
+
Metrics/LineLength:
|
28
|
+
Max: 180
|
29
|
+
|
30
|
+
# Offense count: 10
|
31
|
+
# Configuration parameters: CountComments.
|
32
|
+
Metrics/MethodLength:
|
33
|
+
Max: 52
|
34
|
+
|
35
|
+
# Offense count: 3
|
36
|
+
Metrics/PerceivedComplexity:
|
37
|
+
Max: 15
|
38
|
+
|
39
|
+
# Offense count: 80
|
26
40
|
Style/Documentation:
|
27
41
|
Enabled: false
|
28
42
|
|
@@ -36,17 +50,7 @@ Style/FileName:
|
|
36
50
|
Style/GuardClause:
|
37
51
|
Enabled: false
|
38
52
|
|
39
|
-
# Offense count: 273
|
40
|
-
# Configuration parameters: AllowURI.
|
41
|
-
Style/LineLength:
|
42
|
-
Max: 180
|
43
|
-
|
44
|
-
# Offense count: 10
|
45
|
-
# Configuration parameters: CountComments.
|
46
|
-
Style/MethodLength:
|
47
|
-
Max: 52
|
48
|
-
|
49
53
|
# Offense count: 2
|
50
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
54
|
+
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
|
51
55
|
Style/Next:
|
52
56
|
Enabled: false
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.2
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/gemfiles/rails32.gemfile
CHANGED
data/gemfiles/rails4.gemfile
CHANGED
data/gemfiles/rails41.gemfile
CHANGED
data/lib/octopus.rb
CHANGED
data/lib/octopus/proxy.rb
CHANGED
@@ -84,7 +84,7 @@ module Octopus
|
|
84
84
|
@fully_replicated = true
|
85
85
|
end
|
86
86
|
|
87
|
-
@slaves_list = @shards.keys.map
|
87
|
+
@slaves_list = @shards.keys.map(&:to_s).sort
|
88
88
|
@slaves_list.delete('master')
|
89
89
|
@slaves_load_balancer = Octopus::LoadBalancing::RoundRobin.new(@slaves_list)
|
90
90
|
end
|
@@ -344,14 +344,14 @@ module Octopus
|
|
344
344
|
def resolve_string_connection(spec)
|
345
345
|
if Octopus.rails41?
|
346
346
|
resolver = ActiveRecord::ConnectionAdapters::ConnectionSpecification::Resolver.new({})
|
347
|
-
resolver.spec(spec).config
|
347
|
+
HashWithIndifferentAccess.new(resolver.spec(spec).config)
|
348
348
|
else
|
349
349
|
if Octopus.rails4?
|
350
350
|
resolver = ActiveRecord::ConnectionAdapters::ConnectionSpecification::Resolver.new(spec, {})
|
351
351
|
else
|
352
352
|
resolver = ActiveRecord::Base::ConnectionSpecification::Resolver.new(spec, {})
|
353
353
|
end
|
354
|
-
resolver.spec.config
|
354
|
+
HashWithIndifferentAccess.new(resolver.spec.config)
|
355
355
|
end
|
356
356
|
end
|
357
357
|
|
@@ -1,6 +1,13 @@
|
|
1
1
|
module Octopus
|
2
|
-
class RelationProxy
|
3
|
-
include Octopus::ShardTracking::Attribute
|
2
|
+
class RelationProxy < BasicObject
|
3
|
+
include ::Octopus::ShardTracking::Attribute
|
4
|
+
|
5
|
+
module CaseFixer
|
6
|
+
def ===(other)
|
7
|
+
other = other.ar_relation while ::Octopus::RelationProxy === other
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end
|
4
11
|
|
5
12
|
attr_accessor :ar_relation
|
6
13
|
|
@@ -13,27 +20,9 @@ module Octopus
|
|
13
20
|
run_on_shard { @ar_relation.send(method, *args, &block) }
|
14
21
|
end
|
15
22
|
|
16
|
-
def respond_to?(*args)
|
17
|
-
super || @ar_relation.respond_to?(*args)
|
18
|
-
end
|
19
|
-
|
20
|
-
# these methods are not normally sent to method_missing
|
21
|
-
|
22
|
-
def select(*args, &block)
|
23
|
-
method_missing(:select, *args, &block)
|
24
|
-
end
|
25
|
-
|
26
|
-
def inspect
|
27
|
-
method_missing(:inspect)
|
28
|
-
end
|
29
|
-
|
30
|
-
def as_json(options = nil)
|
31
|
-
method_missing(:as_json, options)
|
32
|
-
end
|
33
|
-
|
34
23
|
def ==(other)
|
35
24
|
case other
|
36
|
-
when Octopus::RelationProxy
|
25
|
+
when ::Octopus::RelationProxy
|
37
26
|
method_missing(:==, other.ar_relation)
|
38
27
|
else
|
39
28
|
method_missing(:==, other)
|
@@ -42,3 +31,5 @@ module Octopus
|
|
42
31
|
alias_method :eql?, :==
|
43
32
|
end
|
44
33
|
end
|
34
|
+
|
35
|
+
ActiveRecord::Relation.extend(Octopus::RelationProxy::CaseFixer)
|
data/lib/octopus/scope_proxy.rb
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
module Octopus
|
2
|
-
class ScopeProxy
|
3
|
-
include Octopus::ShardTracking::Attribute
|
2
|
+
class ScopeProxy < BasicObject
|
3
|
+
include ::Octopus::ShardTracking::Attribute
|
4
|
+
|
5
|
+
module CaseFixer
|
6
|
+
def ===(other)
|
7
|
+
other = other.klass while ::Octopus::ScopeProxy === other
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
4
12
|
attr_accessor :klass
|
5
13
|
|
6
14
|
def initialize(shard, klass)
|
@@ -35,10 +43,6 @@ module Octopus
|
|
35
43
|
result
|
36
44
|
end
|
37
45
|
|
38
|
-
def as_json(options = nil)
|
39
|
-
method_missing(:as_json, options)
|
40
|
-
end
|
41
|
-
|
42
46
|
# Delegates to method_missing (instead of @klass) so that User.using(:blah).where(:name => "Mike")
|
43
47
|
# gets run in the correct shard context when #== is evaluated.
|
44
48
|
def ==(other)
|
@@ -47,3 +51,5 @@ module Octopus
|
|
47
51
|
alias_method :eql?, :==
|
48
52
|
end
|
49
53
|
end
|
54
|
+
|
55
|
+
ActiveRecord::Relation.extend(Octopus::ScopeProxy::CaseFixer)
|
@@ -31,13 +31,8 @@ module Octopus
|
|
31
31
|
# Use a case statement to avoid any path through ActiveRecord::Delegation's
|
32
32
|
# respond_to? code. We want to avoid the respond_to? code because it can have
|
33
33
|
# the side effect of causing a call to load_target
|
34
|
-
|
35
|
-
|
36
|
-
when ActiveRecord::Relation
|
37
|
-
Octopus::RelationProxy.new(cs, r)
|
38
|
-
else
|
39
|
-
r
|
40
|
-
end
|
34
|
+
r = Octopus::RelationProxy.new(cs, r) if ActiveRecord::Relation === r and not Octopus::RelationProxy === r
|
35
|
+
r
|
41
36
|
else
|
42
37
|
yield
|
43
38
|
end
|
data/lib/octopus/version.rb
CHANGED
data/lib/tasks/octopus.rake
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
namespace :octopus do
|
2
|
-
desc
|
2
|
+
desc 'Copy schema version information from master to all shards'
|
3
3
|
task :copy_schema_versions => :environment do
|
4
|
-
abort(
|
4
|
+
abort('Octopus is not enabled for this environment') unless Octopus.enabled?
|
5
5
|
|
6
6
|
connection = ActiveRecord::Base.connection
|
7
7
|
|
data/sample_app/Gemfile
CHANGED
@@ -4,62 +4,61 @@
|
|
4
4
|
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
|
5
5
|
# files.
|
6
6
|
|
7
|
+
unless ARGV.any? { |a| a =~ /^gems/ } # Don't load anything when running the gems:* tasks
|
7
8
|
|
8
|
-
|
9
|
+
vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
|
10
|
+
$LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
+
begin
|
13
|
+
require 'cucumber/rake/task'
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
+
namespace :cucumber do
|
16
|
+
Cucumber::Rake::Task.new({ :ok => 'test:prepare' }, 'Run features that should pass') do |t|
|
17
|
+
t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
|
18
|
+
t.fork = true # You may get faster startup if you set this to false
|
19
|
+
t.profile = 'default'
|
20
|
+
end
|
15
21
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
Cucumber::Rake::Task.new({:wip => 'test:prepare'}, 'Run features that are being worked on') do |t|
|
24
|
-
t.binary = vendored_cucumber_bin
|
25
|
-
t.fork = true # You may get faster startup if you set this to false
|
26
|
-
t.profile = 'wip'
|
27
|
-
end
|
22
|
+
Cucumber::Rake::Task.new({ :wip => 'test:prepare' }, 'Run features that are being worked on') do |t|
|
23
|
+
t.binary = vendored_cucumber_bin
|
24
|
+
t.fork = true # You may get faster startup if you set this to false
|
25
|
+
t.profile = 'wip'
|
26
|
+
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
28
|
+
Cucumber::Rake::Task.new({ :rerun => 'test:prepare' }, 'Record failing features and run only them if any exist') do |t|
|
29
|
+
t.binary = vendored_cucumber_bin
|
30
|
+
t.fork = true # You may get faster startup if you set this to false
|
31
|
+
t.profile = 'rerun'
|
32
|
+
end
|
34
33
|
|
35
|
-
|
36
|
-
|
34
|
+
desc 'Run all features'
|
35
|
+
task :all => [:ok, :wip]
|
37
36
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
37
|
+
task :statsetup do
|
38
|
+
require 'rails/code_statistics'
|
39
|
+
::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
|
40
|
+
::CodeStatistics::TEST_TYPES << 'Cucumber features' if File.exist?('features')
|
41
|
+
end
|
42
42
|
end
|
43
|
-
|
44
|
-
|
45
|
-
task :cucumber => 'cucumber:ok'
|
43
|
+
desc 'Alias for cucumber:ok'
|
44
|
+
task :cucumber => 'cucumber:ok'
|
46
45
|
|
47
|
-
|
46
|
+
task :default => :cucumber
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
task :features => :cucumber do
|
49
|
+
STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
|
50
|
+
end
|
52
51
|
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
# In case we don't have the generic Rails test:prepare hook, append a no-op task that we can depend upon.
|
53
|
+
task 'test:prepare' do
|
54
|
+
end
|
56
55
|
|
57
|
-
|
58
|
-
rescue LoadError
|
59
|
-
|
60
|
-
|
61
|
-
|
56
|
+
task :stats => 'cucumber:statsetup'
|
57
|
+
rescue LoadError
|
58
|
+
desc 'cucumber rake task not available (cucumber not installed)'
|
59
|
+
task :cucumber do
|
60
|
+
abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
|
61
|
+
end
|
62
62
|
end
|
63
|
-
end
|
64
63
|
|
65
64
|
end
|
data/spec/octopus/model_spec.rb
CHANGED
@@ -2,10 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Octopus::Model do
|
4
4
|
describe '#using method' do
|
5
|
-
it 'should return self after calling the #using method' do
|
6
|
-
expect(User.using(:canada)).to be_a(Octopus::ScopeProxy)
|
7
|
-
end
|
8
|
-
|
9
5
|
it 'should allow to send a block to the master shard' do
|
10
6
|
Octopus.using(:master) do
|
11
7
|
User.create!(:name => 'Block test')
|
@@ -25,7 +25,7 @@ describe Octopus::RelationProxy do
|
|
25
25
|
if Octopus.rails4?
|
26
26
|
context 'under Rails 4' do
|
27
27
|
it 'is an Octopus::RelationProxy' do
|
28
|
-
expect
|
28
|
+
expect{@relation.ar_relation}.not_to raise_error
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'should be able to return its ActiveRecord::Relation' do
|
@@ -35,7 +35,7 @@ describe Octopus::RelationProxy do
|
|
35
35
|
it 'is equal to an identically-defined, but different, RelationProxy' do
|
36
36
|
i = @client.items
|
37
37
|
expect(@relation).to eq(i)
|
38
|
-
expect(@relation.
|
38
|
+
expect(@relation.__id__).not_to eq(i.__id__)
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'is equal to its own underlying ActiveRecord::Relation' do
|
@@ -11,48 +11,48 @@ describe Octopus::ScopeProxy do
|
|
11
11
|
expect(User.using(:brazil).where(:name => 'Thiago').using(:canada).where(:number => 4).using(:brazil).order(:number).all).to eq([])
|
12
12
|
end
|
13
13
|
|
14
|
-
context
|
14
|
+
context 'When array-like-selecting an item in a group' do
|
15
15
|
before(:each) do
|
16
|
-
User.using(:brazil).create!(:name =>
|
17
|
-
User.using(:brazil).create!(:name =>
|
18
|
-
User.using(:brazil).create!(:name =>
|
19
|
-
@evans = User.using(:brazil).where(:name =>
|
16
|
+
User.using(:brazil).create!(:name => 'Evan', :number => 1)
|
17
|
+
User.using(:brazil).create!(:name => 'Evan', :number => 2)
|
18
|
+
User.using(:brazil).create!(:name => 'Evan', :number => 3)
|
19
|
+
@evans = User.using(:brazil).where(:name => 'Evan')
|
20
20
|
end
|
21
21
|
|
22
|
-
it
|
23
|
-
@evans.select{|u| u.number == 2}.first.number.
|
22
|
+
it 'allows a block to select an item' do
|
23
|
+
expect(@evans.select { |u| u.number == 2 }.first.number).to eq(2)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
context
|
27
|
+
context 'When selecting a field within a scope' do
|
28
28
|
before(:each) do
|
29
|
-
User.using(:brazil).create!(:name =>
|
30
|
-
@evan = User.using(:brazil).where(:name =>
|
29
|
+
User.using(:brazil).create!(:name => 'Evan', :number => 4)
|
30
|
+
@evan = User.using(:brazil).where(:name => 'Evan')
|
31
31
|
end
|
32
32
|
|
33
|
-
it
|
34
|
-
@evan.select(
|
33
|
+
it 'allows single field selection' do
|
34
|
+
expect(@evan.select('name').first.name).to eq('Evan')
|
35
35
|
end
|
36
36
|
|
37
|
-
it
|
38
|
-
@evan.select([
|
37
|
+
it 'allows selection by array' do
|
38
|
+
expect(@evan.select(['name']).first.name).to eq('Evan')
|
39
39
|
end
|
40
40
|
|
41
|
-
it
|
42
|
-
@evan.select(
|
41
|
+
it 'allows multiple selection by string' do
|
42
|
+
expect(@evan.select('id, name').first.id).to be_a(Fixnum)
|
43
43
|
end
|
44
44
|
|
45
|
-
it
|
46
|
-
@evan.select(
|
45
|
+
it 'allows multiple selection by array' do
|
46
|
+
expect(@evan.select(%w(id name)).first.id).to be_a(Fixnum)
|
47
47
|
end
|
48
48
|
|
49
49
|
if Octopus.rails4?
|
50
|
-
it
|
51
|
-
@evan.select(:id, :name).first.id.
|
50
|
+
it 'allows multiple selection by symbol' do
|
51
|
+
expect(@evan.select(:id, :name).first.id).to be_a(Fixnum)
|
52
52
|
end
|
53
53
|
|
54
|
-
it
|
55
|
-
@evan.select(:id,
|
54
|
+
it 'allows multiple selection by string and symbol' do
|
55
|
+
expect(@evan.select(:id, 'name').first.id).to be_a(Fixnum)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ar-octopus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thiago Pradi
|
@@ -10,146 +10,146 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-10-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 3.2.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: activesupport
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: 3.2.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 3.2.0
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: appraisal
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 0.3.8
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: 0.3.8
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: mysql2
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">"
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0.3'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ">"
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0.3'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: pg
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - ">="
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: 0.11.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- -
|
82
|
+
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: 0.11.0
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: rake
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: 0.8.7
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: 0.8.7
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: rspec
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- -
|
103
|
+
- - ">="
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '3'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: '3'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rubocop
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '0'
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- -
|
124
|
+
- - ">="
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: sqlite3
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- -
|
131
|
+
- - ">="
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: 1.3.4
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- -
|
138
|
+
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: 1.3.4
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
|
-
name: pry-
|
142
|
+
name: pry-byebug
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
|
-
- -
|
145
|
+
- - ">="
|
146
146
|
- !ruby/object:Gem::Version
|
147
147
|
version: '0'
|
148
148
|
type: :development
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
|
-
- -
|
152
|
+
- - ">="
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: '0'
|
155
155
|
description: This gem allows you to use sharded databases with ActiveRecord. This
|
@@ -163,12 +163,12 @@ executables: []
|
|
163
163
|
extensions: []
|
164
164
|
extra_rdoc_files: []
|
165
165
|
files:
|
166
|
-
- .gitignore
|
167
|
-
- .rspec
|
168
|
-
- .rubocop.yml
|
169
|
-
- .rubocop_todo.yml
|
170
|
-
- .ruby-version
|
171
|
-
- .travis.yml
|
166
|
+
- ".gitignore"
|
167
|
+
- ".rspec"
|
168
|
+
- ".rubocop.yml"
|
169
|
+
- ".rubocop_todo.yml"
|
170
|
+
- ".ruby-version"
|
171
|
+
- ".travis.yml"
|
172
172
|
- Appraisals
|
173
173
|
- Gemfile
|
174
174
|
- README.mkdn
|
@@ -321,25 +321,22 @@ homepage: https://github.com/tchandy/octopus
|
|
321
321
|
licenses:
|
322
322
|
- MIT
|
323
323
|
metadata: {}
|
324
|
-
post_install_message:
|
325
|
-
need to run:
|
326
|
-
|
324
|
+
post_install_message: |-
|
325
|
+
Important: If you are upgrading from < Octopus 0.5.0 you need to run:
|
327
326
|
$ rake octopus:copy_schema_versions
|
328
327
|
|
329
|
-
|
330
|
-
Octopus now stores schema version information in each shard and migrations will
|
331
|
-
not work properly unless this task is invoked.'
|
328
|
+
Octopus now stores schema version information in each shard and migrations will not work properly unless this task is invoked.
|
332
329
|
rdoc_options: []
|
333
330
|
require_paths:
|
334
331
|
- lib
|
335
332
|
required_ruby_version: !ruby/object:Gem::Requirement
|
336
333
|
requirements:
|
337
|
-
- -
|
334
|
+
- - ">="
|
338
335
|
- !ruby/object:Gem::Version
|
339
336
|
version: '0'
|
340
337
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
341
338
|
requirements:
|
342
|
-
- -
|
339
|
+
- - ">="
|
343
340
|
- !ruby/object:Gem::Version
|
344
341
|
version: '0'
|
345
342
|
requirements: []
|