class Fancybox2::Logger::MQTTLogDevice

Attributes

client[RW]
topic[RW]

Public Class Methods

new(topic, *args) click to toggle source
# File lib/fancybox2/logger/mqtt_log_device.rb, line 9
def initialize(topic, *args)
  @topic = topic
  options = args.extract_options.deep_symbolize_keys
  @client = options[:client]
  unless @client.respond_to?(:publish)
    raise ArgumentError, "provided client does not respond to 'publish'"
  end
  unless @client.respond_to?(:connected?)
    raise ArgumentError, "provided client does not respond to 'connected?'"
  end
end

Public Instance Methods

close(*args) click to toggle source
# File lib/fancybox2/logger/mqtt_log_device.rb, line 27
def close(*args)
  # Do nothing.
  # Future: close only if client is internal
end
write(message) click to toggle source
# File lib/fancybox2/logger/mqtt_log_device.rb, line 21
def write(message)
  if @client && @client.connected?
    @client.publish @topic, message
  end
end