ruboty-zulip 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 863c7da8bc3f2ea529b63c7069341de3d0b68a81
4
- data.tar.gz: 4e34205d670ea89e849fa71aaf6a751eacc959b0
2
+ SHA256:
3
+ metadata.gz: dc0aa27c693a0ead35a45f8963c3eec1751e424fce31d8be722169f783c7bcb2
4
+ data.tar.gz: 23a390a2b094cc4ee976d987c794e15c0261d08823db0289488270bd28d1523f
5
5
  SHA512:
6
- metadata.gz: 9944ec710b0b593971aced2ff02b0401b4bfc8c6da72b09a3730fff42b053624b2642bac26f9cb6ba3c9d3e3cc1a80f71d90e2a33daad045e55717dd79e51b14
7
- data.tar.gz: 957bb85773dfe545a7cb681223f6ded70cb7d980cb269c18181373d549cb819b9827b1513ad4c3660d90ca724f6299842860aa4c29daafe3239cbb56deff07a0
6
+ metadata.gz: a24954923daa33625e0d7269a8eefda39f804d1f92ee99e2c62f3d612040ed3b405332d072560c20d04d2c3d92c171c42c11241e167033fece59a4ea67c4910b
7
+ data.tar.gz: ce36d314541d8a9fb9d49256991ae7c8ab53b351f50006cac8ec1ae5a479fd48e228225b9eb7ce1507e3b1031cb487ff9161b7f8391bbd18a7af9d8014af3458
data/Gemfile CHANGED
@@ -3,4 +3,6 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in ruboty-zulip.gemspec
4
4
  gemspec
5
5
 
6
- gem "zulip-client", path: "../zulip-client"
6
+ if File.exist?("../ruby-zulip-client")
7
+ gem "zulip-client", path: "../ruby-zulip-client"
8
+ end
@@ -3,6 +3,7 @@ require "zulip/client"
3
3
  module Ruboty
4
4
  module Adapters
5
5
  class Zulip < Base
6
+ DEFAULT_RETRY_INTERVAL = 30
6
7
 
7
8
  env :ZULIP_SITE, "Zulip site URL"
8
9
  env :ZULIP_USERNAME, "Zulip username (email address)"
@@ -10,6 +11,7 @@ module Ruboty
10
11
  env :ZULIP_STREAM, "Zulip stream name to monitor", optional: true
11
12
  env :ZULIP_TOPIC, "Zulip topic name to monitor", optional: true
12
13
  env :ZULIP_USE_SSL, "Use SSL/TLS to access Zulip ", optional: true
14
+ env :RUBOTY_ZULIP_RETRY_INTERVAL, "Retry interval on connection error", optional: true
13
15
 
14
16
  def run
15
17
  listen
@@ -57,6 +59,12 @@ module Ruboty
57
59
  /true|yes/i === ENV.fetch("ZULIP_USE_SSL", "true")
58
60
  end
59
61
 
62
+ def retry_interval
63
+ interval = ENV['RUBOTY_ZULIP_RETRY_INTERVAL']
64
+ return interval.to_i if interval
65
+ DEFAULT_RETRY_INTERVAL
66
+ end
67
+
60
68
  def listen
61
69
  client.stream_message do |message|
62
70
  message[:body] = message[:content]
@@ -72,6 +80,11 @@ module Ruboty
72
80
  rescue ::Zulip::ResponseError => ex
73
81
  Ruboty.logger.warn("#{ex.class}: #{ex.message}\n#{ex.backtrace.join("\n")}")
74
82
  retry
83
+ rescue Faraday::ConnectionFailed, Faraday::TimeoutError => ex
84
+ Ruboty.logger.warn("#{ex.class}: #{ex.message}")
85
+ Ruboty.logger.debug("#{ex.backtrace.join("\n")}")
86
+ sleep retry_interval
87
+ retry
75
88
  end
76
89
 
77
90
  def display_recipient(message)
@@ -1,5 +1,5 @@
1
1
  module Ruboty
2
2
  module Zulip
3
- VERSION = "0.2.2"
3
+ VERSION = "0.2.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboty-zulip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - okkez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-30 00:00:00.000000000 Z
11
+ date: 2019-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruboty
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.6.11
105
+ rubygems_version: 2.7.6
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: Zulip adapter for Ruboty.