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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ledenet/api.rb +12 -4
- data/lib/ledenet/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a162f7d49cb9562f1c9c13e15237385e3e089d94
|
4
|
+
data.tar.gz: 4a17e5209e9fba2dbb9b7e7d9b6b3ab7799cfce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0cfb8fa0d51aae714d8a86aa9964b907e04ab9732ed710b6ad346eaae0f81b5288e0ef7a4c1f58dddd7d17a5a3d77b3365936022b38894295287882d7e8a609
|
7
|
+
data.tar.gz: 182da8f546efb98ace1d0bc31ba70362b25c6b431e3c393fe77c051f7ed33441343b1726bfe3c120a62f3853b9ab2264998313902cb22c7344d270c71ef56908
|
data/Gemfile.lock
CHANGED
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
|
-
|
79
|
-
|
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
|
data/lib/ledenet/version.rb
CHANGED