travis 1.6.3.travis.387.4 → 1.6.3.travis.388.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.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/lib/travis/client/listener.rb +22 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDFlZDIzNTZhNDU5YzQ3Njk2YjYwNTMzNTM1MTI1YWQ2M2M4MTEyMA==
4
+ NDc5NjczYzZhZWNiMzNmY2NhMDE3MzBhYjg3MDlhNzRlMjNlMWVkYw==
5
5
  data.tar.gz: !binary |-
6
- NTQ2ODE3Y2I5NmI4N2M5NDQ3MGE1N2NlMzllZTQwNDNkNWRmNmM2Zg==
6
+ YTQ2ZDBmNmQ1OWFjYTE3NGVkNGJkNDBlYjA4NGQ4NmI3MjRkOWU0Mg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MWI0ZmIwNmM5Zjg3M2Q1ZDY0ZmU2MGNjNGU4YTQ1MzJiMTljMzA5ZTY0ZjI2
10
- OWNmYjk0OWIyZGE4OTcwMDU5MmIwYzlmNjljNGRhZTVjZjczYjkxM2FlZjAz
11
- MWE4OWUxNzM2Yzg5YTZiMzIwNDEzM2UzMzQ5MzVmYTRiYzBmZDM=
9
+ Y2RlMjE5YWMwM2U2MTNkZjVjZmFlMTVjYWZmMGI4ZmQ1NWU3YTY2ZjJkNzRi
10
+ Y2NkOGNhYzVhMDg4ZjA5NDYwNDVhMzk4NjkzZmU0NWI3ODc1ZmZmNDQ4NjVj
11
+ ZmZmOGZkNDU4ZTFhY2E3MzcxZDIwYjNmNTdhMDI2OTRlYTI3ZjM=
12
12
  data.tar.gz: !binary |-
13
- NmJhMTVhZDM1Mjc3ZjUwMDNjNDM1YTAxNDc3ZTM4ODllODc4ZWMxNjMxMzkw
14
- YzYyNTM2MjMwMDU0Y2M2ZWM3ODNiMWQ3OGE2N2Y1MmUxYmQ4NGY2YzU5ODcy
15
- MTcxNzQ4NzAxOWQ5YTYzY2RjNjkzYzFiNTJkYzY5YWYyODdkYzE=
13
+ MmE5OTVlYmVlYTQ1YTg2MTM0M2ZmYTA4MjY5NWY3Y2QxMDNlMDlmM2NlNmE5
14
+ YzgyMjU4MDg0OTM1ZTgzZDE3MjdiZDlkNDFlZjgzOWYzNjIwMmY3MWE1OGMz
15
+ NGI2NThmNWI1MTUyZmVkOWRmNjdmZWI3ZDU3NzBhYzY4ODllNDg=
@@ -5,7 +5,7 @@ require 'json'
5
5
  if require 'pusher-client'
6
6
  # it's us that has been loading pusher-client
7
7
  # so let's assume we can mess with it - yay for global state
8
- PusherClient.logger.level = 2
8
+ PusherClient.logger.level = 5
9
9
  end
10
10
 
11
11
  module Travis
@@ -17,6 +17,10 @@ module Travis
17
17
  @session = options.fetch(:session)
18
18
  @signatures = {}
19
19
  super
20
+
21
+ bind('pusher:error') do |data|
22
+ handle_error(data)
23
+ end
20
24
  end
21
25
 
22
26
  def subscribe_all
@@ -34,6 +38,23 @@ module Travis
34
38
  fetch_auth(channel.name)
35
39
  signatures[channel.name]
36
40
  end
41
+
42
+ def handle_error(data)
43
+ code, message = data["code"], data["message"] if data.is_a? Hash
44
+ message ||= data.inspect
45
+
46
+ case code
47
+ when 4100 then reconnect(1)
48
+ when 4200, 4201, 4202 then reconnect
49
+ else raise Travis::Client::Error, "Pusher error: %s (code: %p)" % [message, code]
50
+ end
51
+ end
52
+
53
+ def reconnect(delay = nil)
54
+ disconnect if connected
55
+ sleep delay if delay and delay > 0
56
+ connect
57
+ end
37
58
  end
38
59
 
39
60
  EVENTS = %w[
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3.travis.387.4
4
+ version: 1.6.3.travis.388.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
@@ -29,7 +29,7 @@ authors:
29
29
  autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2013-11-21 00:00:00.000000000 Z
32
+ date: 2013-11-23 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: faraday