ledenet_api 0.1.2 → 0.1.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
2
  SHA1:
3
- metadata.gz: fc308b3bf1a99c0a67ef519e13f84fabece00fc6
4
- data.tar.gz: dd9f6a4032283d24b2f82ca3a00f4ee9647e864c
3
+ metadata.gz: a162f7d49cb9562f1c9c13e15237385e3e089d94
4
+ data.tar.gz: 4a17e5209e9fba2dbb9b7e7d9b6b3ab7799cfce9
5
5
  SHA512:
6
- metadata.gz: 505fd9e3be7cfe496e4a3b1105145f7452a8df8e689f6b68e521ccbe37879bf381d66b2297e97409b5fbf6f0495d9d63865db294120bde6b6c5bbeaa599004e9
7
- data.tar.gz: 001c8afd4e0f0228b8ace0517168992bcdb5dac57fe415fcd2044c0a0aba1fe1cd01d29e8606e2fb079b3414d90cbe2c5c995fa917e44dc885a9512d2001ba93
6
+ metadata.gz: a0cfb8fa0d51aae714d8a86aa9964b907e04ab9732ed710b6ad346eaae0f81b5288e0ef7a4c1f58dddd7d17a5a3d77b3365936022b38894295287882d7e8a609
7
+ data.tar.gz: 182da8f546efb98ace1d0bc31ba70362b25c6b431e3c393fe77c051f7ed33441343b1726bfe3c120a62f3853b9ab2264998313902cb22c7344d270c71ef56908
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ledenet_api (0.1.1)
4
+ ledenet_api (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/ledenet/api.rb CHANGED
@@ -3,7 +3,8 @@ module LEDENET
3
3
  API_PORT = 5577
4
4
 
5
5
  DEFAULT_OPTIONS = {
6
- reuse_connection: false
6
+ reuse_connection: false,
7
+ max_retries: 3
7
8
  }
8
9
 
9
10
  def initialize(device_address, options = {})
@@ -71,12 +72,19 @@ module LEDENET
71
72
  end
72
73
 
73
74
  def socket_action
75
+ tries = 0
74
76
  begin
75
77
  create_socket if @socket.nil? or @socket.closed?
76
78
  yield
77
- rescue Errno::EPIPE, IOError
78
- reconnect!
79
- retry
79
+ rescue Errno::EPIPE, IOError => e
80
+ tries += 1
81
+
82
+ if tries <= @options[:max_retries]
83
+ reconnect!
84
+ retry
85
+ else
86
+ raise e
87
+ end
80
88
  ensure
81
89
  @socket.close unless @socket.closed? or @options[:reuse_connection]
82
90
  end
@@ -1,3 +1,3 @@
1
1
  module LEDENET
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ledenet_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Mullins