class ShortBus::Monitor
For printing out all messages
Public Class Methods
new(*args)
click to toggle source
# File lib/short_bus/monitor.rb, line 8 def initialize(*args) @options = { message_spec: nil, name: 'ShortBus::Monitor', service: method(:monitor), suppress_payload: false, suppress_publisher: false, publisher_spec: nil, thread_count: 1 } @suppress_payload, @suppress_publisher = nil if args[0].is_a?(Hash) && args[0].key?(:driver) @options.merge! args[0] @driver = @options[:driver] @options.delete(:driver) elsif args.is_a?(Array) && args.length == 1 @driver = args[0] else raise ArgumentError, 'No driver passed.' end @suppress_payload = @options.delete(:suppress_payload) @suppress_publisher = @options.delete(:suppress_publisher) start end
Public Instance Methods
monitor(message)
click to toggle source
# File lib/short_bus/monitor.rb, line 36 def monitor(message) puts "[#{@options[:name]}] message = #{message}" printf( " %s payload = %s\n", @options[:name] ? ' ' * @options[:name].length : '', message.payload.inspect ) if message.payload && !@suppress_payload printf( " %spublisher = %s\n", @options[:name] ? ' ' * @options[:name].length : '', message.publisher ? message.publisher : '*ANONYMOUS*' ) unless @suppress_publisher nil end
start()
click to toggle source
# File lib/short_bus/monitor.rb, line 51 def start @service = @driver.subscribe(@options) end
stop()
click to toggle source
# File lib/short_bus/monitor.rb, line 55 def stop @driver.unsubscribe @service end