fresh_connection 0.2.3 → 0.2.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f896f7889dfe9faf024a5905f135bee636f35fe0
|
4
|
+
data.tar.gz: bf059b853f63b8beb128708c5c6f3363ca2393ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e7f30d3bcbf4e26c6ba5eb4222f3e59ee27237f2d32b7a04948f5bdbb325f9c72c43f74af43916c515fc56fa57d7b93d355b03e15771fc9a24ae301bf08e109
|
7
|
+
data.tar.gz: bfc44fd46e95eb800008fb30917b3195f978b0ea6ebdfbe24b9b65fd13f09335c298254c0661797339bbe7894f62cfd8224fc019099ea51af36bd0ff57adcb4d
|
@@ -4,15 +4,16 @@ module FreshConnection
|
|
4
4
|
def self.included(base)
|
5
5
|
base.__send__(:attr_writer, :model_class)
|
6
6
|
base.alias_method_chain :configure_connection, :fresh_connection
|
7
|
+
base.alias_method_chain :execute, :fresh_connection
|
7
8
|
end
|
8
9
|
|
9
|
-
def
|
10
|
-
if FreshConnection::AccessControl.slave_access?
|
10
|
+
def execute_with_fresh_connection(sql, name = nil)
|
11
|
+
if @model_class && FreshConnection::AccessControl.slave_access?
|
11
12
|
change_connection do
|
12
|
-
|
13
|
+
execute_without_fresh_connection(sql, "[#{@model_class.slave_group}] #{name}")
|
13
14
|
end
|
14
15
|
else
|
15
|
-
|
16
|
+
execute_without_fresh_connection(sql, name)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
@@ -38,6 +38,10 @@ describe FreshConnection do
|
|
38
38
|
name = User.joins(:address).where("addresses.user_id = 1").first.name
|
39
39
|
expect(name).to be_include("slave1")
|
40
40
|
end
|
41
|
+
|
42
|
+
it "pluck is access to slave1" do
|
43
|
+
expect(User.pluck(:name).first).to be_include("slave")
|
44
|
+
end
|
41
45
|
end
|
42
46
|
|
43
47
|
context "access to master" do
|
@@ -51,9 +55,9 @@ describe FreshConnection do
|
|
51
55
|
Tel.first.user.name,
|
52
56
|
@user.address.prefecture,
|
53
57
|
@user.tels.first.number,
|
54
|
-
User.joins(:address).where("addresses.user_id = 1").first.name
|
58
|
+
User.joins(:address).where("addresses.user_id = 1").first.name,
|
59
|
+
User.pluck(:name).first
|
55
60
|
]
|
56
|
-
|
57
61
|
expect(data).to be_all{|n| n.include?("master")}
|
58
62
|
|
59
63
|
end
|
@@ -68,9 +72,10 @@ describe FreshConnection do
|
|
68
72
|
@user.tels.readonly(false).first.number,
|
69
73
|
User.includes(:tels).readonly(false).first.tels.first.number,
|
70
74
|
User.includes(:address).readonly(false).first.address.prefecture,
|
71
|
-
User.joins(:address).where("addresses.user_id = 1").readonly(false).first.name
|
75
|
+
User.joins(:address).where("addresses.user_id = 1").readonly(false).first.name,
|
76
|
+
User.readonly(false).pluck(:name).first
|
72
77
|
]
|
73
|
-
|
78
|
+
|
74
79
|
expect(data).to be_all{|n| n.include?("master")}
|
75
80
|
end
|
76
81
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fresh_connection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tsukasa OISHI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
183
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.2.
|
184
|
+
rubygems_version: 2.2.2
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: FreshConnection supports to connect with Mysql slave servers via Load Balancers.
|