Module: Telnet::Listenable

Included in:
Client, ModularHandler
Defined in:
lib/telnet_client.rb

Overview

The Listenable module

Instance Method Summary collapse

Instance Method Details

#add_listener(listener) ⇒ Object



237
238
239
# File 'lib/telnet_client.rb', line 237

def add_listener(listener)
  listeners << listener
end

#listenersObject



233
234
235
# File 'lib/telnet_client.rb', line 233

def listeners
  @listeners ||= java.util.concurrent.CopyOnWriteArrayList.new
end

#notify(message, *args) ⇒ Object



245
246
247
248
249
250
251
# File 'lib/telnet_client.rb', line 245

def notify(message, *args)
  return if listeners.empty?
  log.trace "Notifying listeners (#{listeners}) of message: #{message}"
  listeners.each do |listener|
    listener.send(message.to_sym, *args) if listener.respond_to?(message.to_sym)
  end
end

#remove_listener(listener) ⇒ Object



241
242
243
# File 'lib/telnet_client.rb', line 241

def remove_listener(listener)
  listeners.delete(listener)
end