connection_manager 1.1.0 → 1.1.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.
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