octoshark 0.0.7 → 0.0.8

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: d633a471d22eac63cd9221ccc6d05446f0dd374f
4
- data.tar.gz: 17bbd7dd09f26461f283520e1a7dd2eec5224817
3
+ metadata.gz: a80290fe7affe4b399c3a48d9676c9f910618fdc
4
+ data.tar.gz: 65278830e411768633d4ec5f65e227caea97f52e
5
5
  SHA512:
6
- metadata.gz: 5e44c905b0c564be6446d7e9adde9d69cf6013da491da760194eeafc86c50b43322b1de1b036d1d1f18b6ba4a88f17a7740b399540f2f67d21a024f3152cf36f
7
- data.tar.gz: ee16b4532fd1efc1709c3a401ae084de11e3bf62c53a657f5fab86bfa1fed022d2263c4a17d7d62b623362d1e432df5be2abdc3a8adcd64a43f381788a19937c
6
+ metadata.gz: 3759cd06b0ac6f5f6426287a191dc6c1a6e427b0cc93ef8ddebc998cd413f83cd6147dc9d47f58faaaf580d7e4de63038cec0b78a6ee96aa6bc88709021dc2e8
7
+ data.tar.gz: 62b469072a953bf8cd6d62d7e9fd6c9e4517371bfb16fc23b6d7edeab6f0533ee923306f0c118ce3de6e1158e3f5888889ba9ef5f400cdb3f68b544e9d3dfc4a
data/README.md CHANGED
@@ -131,27 +131,24 @@ Here's an example how to clean default and shard databases using both default co
131
131
 
132
132
  ```ruby
133
133
  config.before(:suite) do
134
- clean_database_with(:truncation)
134
+ setup_database_cleaner
135
+ DatabaseCleaner.clean_with(:truncation)
135
136
  end
136
137
 
137
138
  config.before(:each) do
139
+ setup_database_cleaner
138
140
  DatabaseCleaner.start
139
141
  end
140
142
 
141
143
  config.after(:each) do
142
- clean_database_with(:transaction)
144
+ setup_database_cleaner
145
+ DatabaseCleaner.clean_with(:transaction)
143
146
  end
144
147
 
145
- def clean_database_with
146
- # default ActiveRecord::Base connection pool
147
- DatabaseCleaner[:active_record, {connection: ActiveRecord::Base.connection_pool}]
148
-
149
- # Octoshark connection pool for the connection
150
- Octoshark.connection_pools.each_pair do |name, connection_pool|
148
+ def setup_database_cleaner
149
+ Octoshark.connection_pools.each_pair do |connection_name, connection_pool|
151
150
  DatabaseCleaner[:active_record, {connection: connection_pool}]
152
151
  end
153
-
154
- DatabaseCleaner.clean_with(strategy)
155
152
  end
156
153
  ```
157
154
 
data/lib/octoshark.rb CHANGED
@@ -12,10 +12,14 @@ module Octoshark
12
12
  OCTOSHARK = :octoshark
13
13
 
14
14
  class << self
15
- delegate :current_connection, :with_connection,
16
- :connection, :current_or_default_connection,
17
- :connection_pools, :find_connection_pool,
18
- :disconnect!, to: :switcher
15
+ delegate :connection_pools,
16
+ :current_or_default_connection,
17
+ :disconnect!,
18
+ :find_connection_pool,
19
+ :with_connection,
20
+ :current_connection,
21
+ :current_connection?,
22
+ to: :switcher
19
23
 
20
24
  def configure(configs)
21
25
  @configs = configs
@@ -18,6 +18,10 @@ module Octoshark
18
18
  Thread.current[OCTOSHARK] || raise(NoCurrentConnectionError, "No current connection, use Octoshark.with_connection")
19
19
  end
20
20
 
21
+ def current_connection?
22
+ !Thread.current[OCTOSHARK].nil?
23
+ end
24
+
21
25
  def current_or_default_connection
22
26
  Thread.current[OCTOSHARK] || @default_pool.connection
23
27
  end
@@ -1,3 +1,3 @@
1
1
  module Octoshark
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -41,6 +41,21 @@ describe Octoshark::ConnectionSwitcher do
41
41
  end
42
42
  end
43
43
 
44
+ describe "#current_connection?" do
45
+ it "returns true if current one" do
46
+ switcher = Octoshark::ConnectionSwitcher.new(configs)
47
+ switcher.with_connection(:db1) do |connection|
48
+ expect(switcher.current_connection?).to be_truthy
49
+ end
50
+ end
51
+
52
+ it "returns false if no current one" do
53
+ switcher = Octoshark::ConnectionSwitcher.new
54
+
55
+ expect(switcher.current_connection?).to be_falsey
56
+ end
57
+ end
58
+
44
59
  describe "#current_or_default_connection" do
45
60
  it "returns current connection" do
46
61
  switcher = Octoshark::ConnectionSwitcher.new(configs)
@@ -71,14 +71,18 @@ describe Octoshark do
71
71
  end
72
72
 
73
73
  [
74
- :current_connection, :with_connection,
75
- :connection, :current_or_default_connection,
76
- :connection_pools, :find_connection_pool,
77
- :disconnect!
74
+ :connection_pools,
75
+ :current_connection,
76
+ :current_connection?,
77
+ :current_or_default_connection,
78
+ :disconnect!,
79
+ :find_connection_pool,
80
+ :with_connection,
78
81
  ].each do |method_name|
79
82
  describe ".#{method_name}" do
80
83
  it "delegates #{method_name} to connection switcher" do
81
84
  Octoshark.configure({})
85
+ expect(Octoshark.switcher).to respond_to(method_name)
82
86
  expect(Octoshark.switcher).to receive(method_name)
83
87
 
84
88
  Octoshark.send(method_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octoshark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dalibor Nasevic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-12 00:00:00.000000000 Z
11
+ date: 2014-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  requirements: []
146
146
  rubyforge_project:
147
- rubygems_version: 2.2.0
147
+ rubygems_version: 2.2.2
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: Octoshark is an ActiveRecord connection switcher