ruby_rabbitmq_janus 2.2.0.pre.177 → 2.2.0.pre.179

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: 61b709556d831e3c858e1293e2046278c67866a5
4
- data.tar.gz: 77303b8410e0fdceb79b0049a474b46acdf1eeb9
3
+ metadata.gz: cc2b31862c0708c674e7a21f98ae77061baaa722
4
+ data.tar.gz: 2b771ef4c51d25bde097b7e4ced7e2b94f99932d
5
5
  SHA512:
6
- metadata.gz: 84fab7ef2ea0b7b1d696f48d54ca1ea07f040a2e9429bf44c5e08965abe7c3cdc8fb121e91c15ab23924d2562c76995a96cba23d80efefaf649020d9a2a0ee60
7
- data.tar.gz: ec09f77a95304c0a774d554af089c249f0c0cd2a28c0c81968c217c8e80b39367e306b9445c2e37531462f099ccfc5239243977c88f9c2900425640b1e758b70
6
+ metadata.gz: a24227cb75c670aa8ec50c8954787b05ad66adf2706533f305556fb1ffa6f63c34e9f77f2e894bfc2d2f440aba7619f9082b519ffae4d73e433364a4556636ae
7
+ data.tar.gz: da9961ca948a7d237d7266911ed4e2234b8d926d4fa264aa411caa0363875a7ecd0962ce59a0f4e79243ed84d7f3bd1a4f4b75876516e5a064573da6d492a8be
@@ -18,6 +18,12 @@ module RubyRabbitmqJanus
18
18
  end
19
19
  end
20
20
 
21
+ class ID2ref < RubyRabbitmqJanus::Errors::Janus::BaseKeepaliveInitializer
22
+ def initialize(thread_id)
23
+ super "No thread with ID : #{thread_id}"
24
+ end
25
+ end
26
+
21
27
  class Session < RubyRabbitmqJanus::Errors::Janus::BaseKeepaliveInitializer
22
28
  def initialize
23
29
  super 'Error return session number'
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # :reek:IrresponsibleModule
4
+ #
3
5
  module RubyRabbitmqJanus
4
6
  module Errors
5
7
  module Rabbit
@@ -24,6 +26,12 @@ module RubyRabbitmqJanus
24
26
  super 'Error for publish message'
25
27
  end
26
28
  end
29
+
30
+ class Testcorrelation < RubyRabbitmqJanus::Errors::Rabbit::BasePublish
31
+ def initialize(message, propertie)
32
+ super "Response correlation ID mismatch (#{message} != #{propertie})", :fatal
33
+ end
34
+ end
27
35
  end
28
36
  end
29
37
  end
@@ -26,7 +26,7 @@ module RubyRabbitmqJanus
26
26
  def self.thread(thread)
27
27
  ObjectSpace._id2ref(thread)
28
28
  rescue RangeError
29
- Tools::Log.instance.fatal "No thread with ID : #{thread}"
29
+ raise Errors::Janus::KeepaliveInitializer::ID2Ref, thread
30
30
  end
31
31
 
32
32
  # Give a session Integer his gem is instantiate.
@@ -34,9 +34,9 @@ module RubyRabbitmqJanus
34
34
  # Restart session
35
35
  def restart_session
36
36
  Tools::Log.instance.warn 'Restart session ...'
37
- @session = response_session
38
- response_keepalive
39
- find_model.set(session: @session)
37
+ janus = find_model
38
+ send_messages_restart
39
+ janus.set(session: @session)
40
40
  rescue
41
41
  raise Errors::Janus::KeepaliveThread::RestartSession
42
42
  end
@@ -76,6 +76,11 @@ module RubyRabbitmqJanus
76
76
 
77
77
  attr_reader :instance
78
78
 
79
+ def send_messages_restart
80
+ @session = response_session
81
+ response_keepalive
82
+ end
83
+
79
84
  def prepare_kill_thread
80
85
  @session = @message = nil
81
86
  KeepaliveThread.instance_method(:kill).bind(self).call
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Style/GuardClause
4
+
3
5
  module RubyRabbitmqJanus
4
6
  module Rabbit
5
7
  module Publisher
@@ -37,12 +39,8 @@ module RubyRabbitmqJanus
37
39
 
38
40
  def subscribe_to_queue
39
41
  reply.subscribe do |_delivery_info, propertie, payload|
40
- propertie_correlation = p_correlation(propertie)
41
- if m_correlation.eql?(propertie_correlation)
42
+ test_correlation(m_correlation, p_correlation(propertie)) do
42
43
  synchronize(payload)
43
- else
44
- Tools::Log.instance.error 'Response correlation ID mismatch (' \
45
- "#{m_correlation}!=#{propertie_correlation})"
46
44
  end
47
45
  end
48
46
  end
@@ -55,6 +53,14 @@ module RubyRabbitmqJanus
55
53
  propertie.correlation_id
56
54
  end
57
55
 
56
+ def test_correlation(m_cor, p_cor)
57
+ if m_cor.eql?(p_cor)
58
+ yield
59
+ else
60
+ raise Errors::Rabbit::Publish::TestCorrelation, m_cor, p_cor
61
+ end
62
+ end
63
+
58
64
  def synchronize(payload)
59
65
  lock.synchronize do
60
66
  responses.push(JSON.parse(payload))
@@ -67,6 +73,7 @@ module RubyRabbitmqJanus
67
73
  end
68
74
  end
69
75
  end
76
+ # rubocop:enable Style/GuardClause
70
77
 
71
78
  require 'rrj/rabbit/publish/admin'
72
79
  require 'rrj/rabbit/publish/exclusive'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rabbitmq_janus
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.pre.177
4
+ version: 2.2.0.pre.179
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-14 00:00:00.000000000 Z
11
+ date: 2017-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler