redshift-client 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/redshift/client/connection_handling.rb +3 -1
- data/lib/redshift/client/version.rb +1 -1
- data/redshift-client.gemspec +1 -0
- data/spec/redshift/client_spec.rb +26 -1
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57e6fbf69de3d525922584318839428a561a0f6b
|
4
|
+
data.tar.gz: f66fd482e6d7f9c6edce75a631797e5fd18164b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83b406edb33a22f17bd980c97261aea3b6a7e0a4ee28c48c888f4ca2418b04952e986a11b5874b5cf0fe9fb2259755e4e4cd77c4a03d7be281a799b6a1a0236f
|
7
|
+
data.tar.gz: abbe01a0b47e299370ffd150d9fd02c788bfe78a01a1b1ab17769644e80f3c232501a81c0bba784301ca0e190e49e3e3f116736e2432c7dc29c6a99b1a985b77
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'pg'
|
2
2
|
require 'uri'
|
3
|
+
require 'active_support/lazy_load_hooks'
|
3
4
|
|
4
5
|
module Redshift
|
5
6
|
module Client
|
@@ -26,7 +27,7 @@ module Redshift
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def connection
|
29
|
-
|
30
|
+
ActiveSupport.run_load_hooks :redshift_client_connection unless established?
|
30
31
|
|
31
32
|
if connected?
|
32
33
|
thread[:connection]
|
@@ -49,6 +50,7 @@ module Redshift
|
|
49
50
|
end
|
50
51
|
|
51
52
|
def connect!
|
53
|
+
raise ConnectionNotEstablished.new unless established?
|
52
54
|
thread[:connection] = PG.connect(thread[:configurations].to_hash)
|
53
55
|
end
|
54
56
|
|
data/redshift-client.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_runtime_dependency "pg"
|
23
|
+
spec.add_runtime_dependency "activesupport", ">= 4"
|
23
24
|
|
24
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
25
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
@@ -53,6 +53,31 @@ describe Redshift::Client do
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
describe "#connection" do
|
57
|
+
context "when already established" do
|
58
|
+
before do
|
59
|
+
Redshift::Client.establish_connection
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns PG::Connection" do
|
63
|
+
expect(Redshift::Client.connection).to be_instance_of PG::Connection
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "when not yet established" do
|
68
|
+
before do
|
69
|
+
allow(ActiveSupport).to receive :run_load_hooks
|
70
|
+
end
|
71
|
+
|
72
|
+
it "calls ActiveSupport#run_load_hooks and raise error" do
|
73
|
+
Thread.new {
|
74
|
+
expect { Redshift::Client.connection }.to raise_error(Redshift::Client::ConnectionNotEstablished)
|
75
|
+
expect(ActiveSupport).to have_received(:run_load_hooks).with(:redshift_client_connection).once
|
76
|
+
}.join
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
56
81
|
describe "#established?" do
|
57
82
|
context "when already established" do
|
58
83
|
before do
|
@@ -70,7 +95,7 @@ describe Redshift::Client do
|
|
70
95
|
|
71
96
|
context "when not yet established" do
|
72
97
|
it "returns false" do
|
73
|
-
Thread.new { expect(Redshift::Client).not_to be_established }
|
98
|
+
Thread.new { expect(Redshift::Client).not_to be_established }.join
|
74
99
|
end
|
75
100
|
end
|
76
101
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redshift-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dai Akatsuka
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|