Class: Angelo::Base::EventSource

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/angelo/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(responder) ⇒ EventSource

Returns a new instance of EventSource.



319
320
321
322
# File 'lib/angelo/base.rb', line 319

def initialize responder
  @responder = responder
  @socket = @responder.connection.detach.socket
end

Instance Attribute Details

#responderObject (readonly)

Returns the value of attribute responder.



317
318
319
# File 'lib/angelo/base.rb', line 317

def responder
  @responder
end

#socketObject (readonly)

Returns the value of attribute socket.



317
318
319
# File 'lib/angelo/base.rb', line 317

def socket
  @socket
end

Instance Method Details

#event(name, data = nil) ⇒ Object



324
325
326
# File 'lib/angelo/base.rb', line 324

def event name, data = nil
  @socket.write Base.sse_event(name, data)
end

#message(data) ⇒ Object



328
329
330
# File 'lib/angelo/base.rb', line 328

def message data
  @socket.write Base.sse_message(data)
end

#on_close(&block) ⇒ Object



332
333
334
# File 'lib/angelo/base.rb', line 332

def on_close &block
  @responder.on_close = block
end

#on_close=(block) ⇒ Object

Raises:

  • (ArgumentError)


336
337
338
339
# File 'lib/angelo/base.rb', line 336

def on_close= block
  raise ArgumentError.new unless Proc === block
  @responder.on_close = block
end