filecluster 0.5.23 → 0.5.24

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fc/db.rb +12 -3
  3. data/lib/fc/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e85e6032ee97c7bf2f86b3e58fa75eb7920914e54f24560afb5e8973bf9ad4b2
4
- data.tar.gz: a113aa6d4275cc5032f4899c8fb30c08bab0025be091313a731c86f4be56fb1b
3
+ metadata.gz: 89d3074974713ab1d820dca546ec70cb2fe3230348e30482e8edaae425a6c615
4
+ data.tar.gz: 9830d0fb5c1acbd702a26217bb9d107ad07d126ea6b60d9dad5165033197f59f
5
5
  SHA512:
6
- metadata.gz: bf0abe70d8660f86d29e50cb1ccdbb73c3d508824840e7a00a6e447491c1cab9d8a7d50f85bb85c509bf21745e6c7e7a4159714800ad0fa85031ae961a0965aa
7
- data.tar.gz: f96c84b51ce39e37c6c4362c1406500664429d18463000ffe2c552b30e85acfaaf663797c683ecf506cea21ed74a1d15397828fc75f8728cd836669791a38f2c
6
+ metadata.gz: c4a90b722c7044b0aa4b5c814a705dfcfe8ff3d0e2491f61dac41eec77f2c1045172ecbe6a2103d789cff0a7771aebbcca1de04ef9f9a3767fe643f07e3c538b
7
+ data.tar.gz: 92c761b6785ed30d6b906fbfa4fed340aea14aea3cf150567be84bea4e0b91447decd0b6b6c5eb53406cebedc055712ed31b9f04005bb7699ae32af728e90cc7
data/lib/fc/db.rb CHANGED
@@ -4,7 +4,7 @@ require 'psych'
4
4
  module FC
5
5
  module DB
6
6
  class << self
7
- attr_accessor :options, :prefix, :err_counter, :no_active_record, :connect_block, :logger, :reconnecting
7
+ attr_accessor :options, :prefix, :err_counter, :no_active_record, :connect_block, :logger, :reconnecting, :reconnect_block
8
8
  end
9
9
 
10
10
  def self.options_yml_path
@@ -20,7 +20,7 @@ module FC
20
20
  @prefix = @options[:prefix].to_s if @options[:prefix]
21
21
  connection = Mysql2::Client.new(@options)
22
22
  @reconnecting = false
23
- @connect_block = nil
23
+ @connect_block = nil unless @options[:keep_lazy_connection]
24
24
  @connects = {} unless @connects
25
25
  @connects[Thread.current.object_id] = connection
26
26
  end
@@ -48,6 +48,10 @@ module FC
48
48
  @connect_block = block
49
49
  end
50
50
 
51
+ def self.lazy_reconnect(&block)
52
+ @reconnect_block = block
53
+ end
54
+
51
55
  def self.connect_by_block(options = {})
52
56
  connection = @connect_block.call
53
57
  @options = connection.query_options.clone.merge(symbolize_keys(options))
@@ -57,6 +61,11 @@ module FC
57
61
  @connect_block = nil unless @options[:keep_lazy_connection]
58
62
  end
59
63
 
64
+ def self.reconnect_by_block
65
+ @connects[Thread.current.object_id] = @reconnect_block.call
66
+ @reconnecting = false
67
+ end
68
+
60
69
  def self.connect
61
70
  connect_by_block if @connect_block
62
71
  return nil unless @options
@@ -86,7 +95,7 @@ module FC
86
95
  def self.reconnect
87
96
  close if connect
88
97
  @reconnecting = true
89
- connect_by_config(@options)
98
+ @reconnect_block ? reconnect_by_block : connect_by_config(@options)
90
99
  end
91
100
 
92
101
  def self.close
data/lib/fc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = '0.5.23'.freeze
2
+ VERSION = '0.5.24'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filecluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.23
4
+ version: 0.5.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - sh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-04 00:00:00.000000000 Z
11
+ date: 2020-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2