redshift-client 0.1.1 → 0.1.2
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 +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
|