travis 1.6.3.travis.387.4 → 1.6.3.travis.388.4

Sign up to get free protection for your applications and to get access to all the features.
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