Module: Telnet::Listenable
- Included in:
- Client, ModularHandler
- Defined in:
- lib/telnet_client.rb
Overview
The Listenable module
Instance Method Summary collapse
- #add_listener(listener) ⇒ Object
- #listeners ⇒ Object
- #notify(message, *args) ⇒ Object
- #remove_listener(listener) ⇒ Object
Instance Method Details
#add_listener(listener) ⇒ Object
237 238 239 |
# File 'lib/telnet_client.rb', line 237 def add_listener(listener) listeners << listener end |
#listeners ⇒ Object
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(, *args) return if listeners.empty? log.trace "Notifying listeners (#{listeners}) of message: #{}" listeners.each do |listener| listener.send(.to_sym, *args) if listener.respond_to?(.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 |