sensu-transport 0.0.3 → 0.0.4

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: 2cdc17cbd6f9e0e4fd7725b6942e8ed1690dba37
4
- data.tar.gz: 93154f4c346571558290cb68891c414a24524381
3
+ metadata.gz: d6a38035e18fcea44cad21b1aba5594335e3ef30
4
+ data.tar.gz: 14eddc18dec551445e6fdd7d6341f807f774e82a
5
5
  SHA512:
6
- metadata.gz: 04780b034644b8f23e5acd80c5a0a7df10bd247cecf39729d28ec20c968b931d73dc334eed69c6295054778a83d75e9471fdb52ece4b987dfe90b50ad51b5827
7
- data.tar.gz: 92f1e633b476f33bc97e3bc2eeb6726cd3659d8c7790049c2a1b3eb3bd15006fd5169f398844c84017dba9ec4b077e8b84f0d4ed804f6b781e051c5ba84e6080
6
+ metadata.gz: 0d3821c33f596ed82e10d4642d80c48d290842ff2e61c8b1f1dad518056e663280b59a0386139f791296c2733813e52d218b5e6ee079bc06429628929099e866
7
+ data.tar.gz: ee7e04f7c3b4c3df7dabf5d2a5ffff42f3b1f99e74f49639db6d4be540ae13da61a00ae4c82fd4eda7af5386e81544bf355e48aab443ee8b67d4d74bd92a6a27
@@ -15,7 +15,7 @@ module Sensu
15
15
  @after_reconnect = Proc.new {}
16
16
  end
17
17
 
18
- # Sets the error callback.
18
+ # Set the error callback.
19
19
  #
20
20
  # @param callback [Proc] called in the event of a transport
21
21
  # error, the exception object should be passed as a parameter.
@@ -24,7 +24,7 @@ module Sensu
24
24
  @on_error = callback
25
25
  end
26
26
 
27
- # Sets the before reconnect callback.
27
+ # Set the before reconnect callback.
28
28
  #
29
29
  # @param callback [Proc] called before attempting to reconnect
30
30
  # to the transport.
@@ -33,7 +33,7 @@ module Sensu
33
33
  @before_reconnect = callback
34
34
  end
35
35
 
36
- # Sets the after reconnect callback.
36
+ # Set the after reconnect callback.
37
37
  #
38
38
  # @param callback [Proc] called after reconnecting to the
39
39
  # transport.
@@ -47,6 +47,9 @@ module Sensu
47
47
  # @param options [Hash, String]
48
48
  def connect(options={}); end
49
49
 
50
+ # Reconnect to the transport.
51
+ def reconnect; end
52
+
50
53
  # Indicates if connected to the transport.
51
54
  #
52
55
  # @return [TrueClass, FalseClass]
@@ -13,27 +13,29 @@ module Sensu
13
13
  end
14
14
 
15
15
  def connect(options={})
16
- timeout = create_connection_timeout
17
- on_failure = on_connection_failure
16
+ create_connection_timeout
18
17
  @connection = AMQP.connect(options, {
19
- :on_tcp_connection_failure => on_failure,
20
- :on_possible_authentication_failure => on_failure
18
+ :on_tcp_connection_failure => on_connection_failure,
19
+ :on_possible_authentication_failure => on_connection_failure
21
20
  })
22
21
  @connection.logger = @logger
23
22
  @connection.on_open do
24
- timeout.cancel
23
+ @connection_timeout.cancel
25
24
  end
26
- reconnect = Proc.new do
27
- unless @connection.reconnecting?
28
- @before_reconnect.call
29
- @connection.periodically_reconnect(5)
30
- end
31
- end
32
- @connection.on_tcp_connection_loss(&reconnect)
33
- @connection.on_skipped_heartbeats(&reconnect)
25
+ reconnect_callback = Proc.new { reconnect }
26
+ @connection.on_tcp_connection_loss(&reconnect_callback)
27
+ @connection.on_skipped_heartbeats(&reconnect_callback)
34
28
  setup_channel(options)
35
29
  end
36
30
 
31
+ def reconnect
32
+ unless @connection.reconnecting?
33
+ @connection_timeout.cancel
34
+ @before_reconnect.call
35
+ @connection.periodically_reconnect(5)
36
+ end
37
+ end
38
+
37
39
  def connected?
38
40
  @connection.connected?
39
41
  end
@@ -98,7 +100,7 @@ module Sensu
98
100
  private
99
101
 
100
102
  def create_connection_timeout
101
- EM::Timer.new(20) do
103
+ @connection_timeout = EM::Timer.new(20) do
102
104
  error = Error.new("timed out while attempting to connect to rabbitmq")
103
105
  @on_error.call(error)
104
106
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sensu-transport"
5
- spec.version = "0.0.3"
5
+ spec.version = "0.0.4"
6
6
  spec.authors = ["Sean Porter"]
7
7
  spec.email = ["portertech@gmail.com"]
8
8
  spec.summary = "The Sensu transport abstraction library"
data/spec/base_spec.rb CHANGED
@@ -10,7 +10,7 @@ describe "Sensu::Transport::Base" do
10
10
 
11
11
  it "provides a transport API (noop)" do
12
12
  @transport.should respond_to(:on_error, :before_reconnect, :after_reconnect,
13
- :connect, :connected?, :close,
13
+ :connect, :reconnect, :connected?, :close,
14
14
  :publish, :subscribe, :unsubscribe,
15
15
  :acknowledge, :ack, :stats)
16
16
  end
@@ -22,6 +22,7 @@ describe "Sensu::Transport::Base" do
22
22
  @transport.after_reconnect(&callback).should be_an_instance_of(Proc)
23
23
  @transport.connect.should eq(nil)
24
24
  @transport.connect({}).should eq(nil)
25
+ @transport.reconnect.should eq(nil)
25
26
  @transport.connected?.should eq(false)
26
27
  @transport.close.should eq(nil)
27
28
  @transport.publish("foo", "bar", "baz").should eq(nil)
@@ -13,7 +13,7 @@ describe "Sensu::Transport::RabbitMQ" do
13
13
 
14
14
  it "provides a transport API" do
15
15
  @transport.should respond_to(:on_error, :before_reconnect, :after_reconnect,
16
- :connect, :connected?, :close,
16
+ :connect, :reconnect, :connected?, :close,
17
17
  :publish, :subscribe, :unsubscribe,
18
18
  :acknowledge, :ack, :stats)
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-27 00:00:00.000000000 Z
11
+ date: 2014-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-em