connection_manager 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MGZjYTQyMmJjZDkyODU2MDMyYWU4OGJmYjRkZTg4ZmNjMmM3YmYwNw==
4
+ OWYwNWEwZTI2NjRkZTVkNDYxOGZjMTY4YTk1NDFhOTk5MTRkMGE5ZQ==
5
5
  data.tar.gz: !binary |-
6
- MjVhMjBlN2NhZGU3ZmVlYmJiOGRjODUxZmYwMDFjOTE3N2I3OGI0ZA==
6
+ YTRmOTk4MzVmM2ZmZGU3MjdjNTAzYWFiNmExMjcxYmM1YTFlYzE3NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjFmMDZkNDE3NjgxMWU2NTRiNDZlMGZhMmJkN2JmZmE4YjQwMDdhY2UxMDY3
10
- NDEzYmM0OTk2MmZlNGRiNTYyZWM4ZWE4OTc1MTc3NjRmY2ZhMzI1OTk5YWQ3
11
- MWNkYjY2MGNmNDdjMTdhMjZhODE1ZWY4ZTE5NTRmZDRlNDMzMGE=
9
+ YWYwNjUyODIyNzVkZGNjYzYwZjExOWJkNmFmNzUyOGFmZTA5MzI2Yzk1ODdl
10
+ ODRmMTgzNWY4MzQ1YmE4MDAzYjY3N2JlMjM0Y2Q3ZjJiZGVhZjEyODgwMzNk
11
+ N2ViMWVmMDA4MmM5YTQ2NDA5NjVkZDU0NDMzNDk4NGM0MzUxNzI=
12
12
  data.tar.gz: !binary |-
13
- MzYwMjJjMzU5NWRlODk3MGRjMmEzMWI2ODJkNThkMGRiMjUzNWE1NmMxMjQ5
14
- YzkzMjQzNjAyMmEzZDg5MTVmMjI0ZWMwMDdhMjcyY2E4ZjVmZTY2OWFkZTVi
15
- MGI5MWUwZTkxYTAyZTZlYWYwZjBlMmZmYzE2MDkwMzE0MTYxMjE=
13
+ ZGM4MGRkMTQwM2IzY2RiZGJjN2ExZjI0YWNlMzU5ZDAwYTcxMGNlNWViYWQy
14
+ MTg0NTBlMDQ3NGQ5Y2E5NzY0MGVlODc1ZTIzMjM0MDY1NGQzY2QwOWE3MDQ5
15
+ MWIyNDA4YjAwYTc1MDAyZTBlOTk5ZjEwNWVhOWQ2YmVlNDAwMmU=
data/CHANGE.md CHANGED
@@ -5,6 +5,10 @@ HEAD
5
5
  =======
6
6
  - Nothing yet!
7
7
 
8
+ 1.1.1
9
+ =======
10
+ - Fix bug when comparing relation.klass to Using::Proxy instance.klass
11
+
8
12
  1.1.0
9
13
  =======
10
14
  - BREAKING CHANGE - Code has been organized to mirror as much a possible their ActiveRecord 4 counter parts.
@@ -1,5 +1,21 @@
1
1
  module ConnectionManager
2
2
  module Using
3
+ module ClassMethods
4
+ def >=(compare)
5
+ return self >= compare.klass if compare.is_a?(ConnectionManager::Using::Proxy)
6
+ super(compare)
7
+ end
8
+
9
+ def ==(compare)
10
+ return self == compare.klass if compare.is_a?(ConnectionManager::Using::Proxy)
11
+ super(compare)
12
+ end
13
+
14
+ def !=(compare)
15
+ return self != compare.klass if compare.is_a?(ConnectionManager::Using::Proxy)
16
+ super(compare)
17
+ end
18
+ end
3
19
  class Proxy
4
20
  attr_accessor :klass, :connection_class
5
21
 
@@ -61,3 +77,5 @@ module ConnectionManager
61
77
  end
62
78
  end
63
79
  end
80
+ ActiveRecord::Relation.send(:extend, ConnectionManager::Using::ClassMethods)
81
+ ActiveRecord::Base.send(:extend, ConnectionManager::Using::ClassMethods)
@@ -1,3 +1,3 @@
1
1
  module ConnectionManager
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -20,11 +20,11 @@ describe ConnectionManager::Using do
20
20
 
21
21
  it "should have the same connection if called from model or from relation" do
22
22
  expect(Fruit.where(:name => "malarky").using("CmFooSlaveConnection").connection.
23
- config).to eql(Fruit.using("CmFooSlaveConnection").where(:name => "malarky").connection.config)
23
+ config).to eql(Fruit.using("CmFooSlaveConnection").where(:name => "malarky").connection.config)
24
24
  expect(Fruit.using("CmFooSlaveConnection").where(:name => "malarky").connection.
25
- config).to_not eql(Fruit.where(:name => "malarky").connection.config)
25
+ config).to_not eql(Fruit.where(:name => "malarky").connection.config)
26
26
  expect(Fruit.where(:name => "malarky").using("CmFooSlaveConnection").connection.
27
- config).to_not eql(Fruit.where(:name => "malarky").connection.config)
27
+ config).to_not eql(Fruit.where(:name => "malarky").connection.config)
28
28
  end
29
29
 
30
30
  context "A replication like connection" do
@@ -36,7 +36,7 @@ describe ConnectionManager::Using do
36
36
  it "should work" do
37
37
  fb = FactoryGirl.create(:fruit_basket)
38
38
  expect(lambda {FruitBasket.using("CmFooSlaveConnection").
39
- joins(:fruit,:basket).includes(:fruit,:basket).where(:id => fb.id).first}).to_not raise_error
39
+ joins(:fruit,:basket).includes(:fruit,:basket).where(:id => fb.id).first}).to_not raise_error
40
40
  end
41
41
  end
42
42
 
@@ -46,5 +46,18 @@ describe ConnectionManager::Using do
46
46
  expect(Fruit.using("OtherConnection").where(:name => fruit.name).exists?).to be_false
47
47
  end
48
48
  end
49
+
50
+ context "`klass` comparators should work" do
51
+ context "Proxy to non proxy" do
52
+ it "should work" do
53
+ expect(lambda { Fruit.using("OtherConnection").klass >= Fruit.where(:id => 1).klass}).to_not raise_error
54
+ end
55
+ end
56
+ context "non-proxy to proxy" do
57
+ it "should work" do
58
+ expect(lambda { Fruit.where(:id => 1).klass >= Fruit.using("OtherConnection").klass}).to_not raise_error
59
+ end
60
+ end
61
+ end
49
62
  end
50
63
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: connection_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Mckinney
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-08 00:00:00.000000000 Z
11
+ date: 2014-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord