ar-octopus 0.8.3 → 0.8.4
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 +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: []
|