fancybox2 0.0.3 → 0.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5f1b63c49186562a7754d3a1674d201202f8cfa2fa83b009d148b8036514a41
4
- data.tar.gz: d91b6945428ab9b366ecd29dcf4f56eced667f129592cf48b39888bd114b360f
3
+ metadata.gz: 305d4f2b4006be7dde72fdfd9374f792338429defd2a9269e0ad8d3cfb1634ce
4
+ data.tar.gz: ebedeaabc2cb173c67907f08c8c3b8f7fa0b276c1d516fb56910b7fd1102bf6d
5
5
  SHA512:
6
- metadata.gz: 6f03ac7a8f28b7dc5ce77ce4e77e71f623a94a5ccfa30bb472d4408e8c0cb5d07334166864474c514f4f72f74f9010b8aa7a1b0f785a87e93845af986f6113d5
7
- data.tar.gz: e5df22e0bc8a716cc16cbfe0d0c696560ead8923b9bb9b41b431284e11574fe389ce9980e54943cc8dc314266c9761c010a626945206f7c5368214a88241a0e0
6
+ metadata.gz: e313af43974ac8ba6e2c0330381ac532f0264f6edcc0ddfa8695bebe726c1d4c35f1ddad561c9d8c07e024b4392e85e46dd9ecc10847c4dd43cce46260d4698c
7
+ data.tar.gz: 141e2e29514e61b282893ca7e2a2ac64308addd364d9bff408d9b6828b7bbd5f9c222b8d206af6b61243f952e710f844c1ac55d546e2712e9de2b9dd6e1c8b22
@@ -13,10 +13,13 @@ module Fancybox2
13
13
  unless @client.respond_to?(:publish)
14
14
  raise ArgumentError, "provided client does not respond to 'publish'"
15
15
  end
16
+ unless @client.respond_to?(:connected?)
17
+ raise ArgumentError, "provided client does not respond to 'connected?'"
18
+ end
16
19
  end
17
20
 
18
21
  def write(message)
19
- if @client.connected?
22
+ if @client && @client.connected?
20
23
  @client.publish @topic, message
21
24
  end
22
25
  end
@@ -142,6 +142,8 @@ module Fancybox2
142
142
  return
143
143
  end
144
144
 
145
+ @status = :on_shutdown
146
+
145
147
  shutdown_ok = true
146
148
  logger.debug "Received 'shutdown' command"
147
149
  # Stop sending alive messages
@@ -162,17 +164,20 @@ module Fancybox2
162
164
  message_to :core, :shutdown, { status: shutdown_message }
163
165
  sleep 0.05 # Wait some time in order to be sure that the message has been published (message is not mandatory)
164
166
 
165
- if mqtt_client && mqtt_client.connected?
166
- # Gracefully disconnect from broker and exit
167
- logger.debug 'Disconnecting from broker'
168
- mqtt_client.disconnect
169
- end
167
+ Thread.new do
168
+ if mqtt_client && mqtt_client.connected?
169
+ # Gracefully disconnect from broker and exit
170
+ logger.debug 'Disconnecting from broker, bye'
171
+ mqtt_client.disconnect
172
+ @mqtt_client = nil
173
+ end
170
174
 
171
- if do_exit
172
- # Exit from process
173
- status_code = shutdown_ok ? 0 : 1
174
- logger.debug "Exiting with status code #{status_code}"
175
- exit status_code
175
+ if do_exit
176
+ # Exit from process
177
+ status_code = shutdown_ok ? 0 : 1
178
+ logger.debug "Exiting with status code #{status_code}"
179
+ exit status_code
180
+ end
176
181
  end
177
182
  end
178
183
 
@@ -358,12 +363,12 @@ module Fancybox2
358
363
 
359
364
  def create_default_logger
360
365
  stdout_logger = ::Logger.new STDOUT
361
- broker_logger = ::Logger.new(Logger::MQTTLogDevice.new(topic_for(dest: :core, action: :logs),
362
- client: mqtt_client),
363
- formatter: Logger::JSONFormatter.new)
364
- logger = Logger::Multi.new stdout_logger, broker_logger,
365
- level: @log_level,
366
- progname: @log_progname
366
+ # broker_logger = ::Logger.new(Logger::MQTTLogDevice.new(topic_for(dest: :core, action: :logs),
367
+ # client: mqtt_client),
368
+ # formatter: Logger::JSONFormatter.new)
369
+ logger = Logger::Multi.new stdout_logger,# broker_logger,
370
+ level: @log_level,
371
+ progname: @log_progname
367
372
  logger
368
373
  end
369
374
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fancybox2
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fancybox2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Verlato
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-19 00:00:00.000000000 Z
11
+ date: 2020-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk