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.



425
426
427
428
# File 'lib/angelo/base.rb', line 425

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

Instance Attribute Details

#responderObject (readonly)

Returns the value of attribute responder.



423
424
425
# File 'lib/angelo/base.rb', line 423

def responder
  @responder
end

#socketObject (readonly)

Returns the value of attribute socket.



423
424
425
# File 'lib/angelo/base.rb', line 423

def socket
  @socket
end

Instance Method Details

#event(name, data = nil) ⇒ Object



430
431
432
# File 'lib/angelo/base.rb', line 430

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

#message(data) ⇒ Object



434
435
436
# File 'lib/angelo/base.rb', line 434

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

#on_close(&block) ⇒ Object



438
439
440
# File 'lib/angelo/base.rb', line 438

def on_close &block
  @responder.on_close = block
end

#on_close=(block) ⇒ Object

Raises:

  • (ArgumentError)


442
443
444
445
# File 'lib/angelo/base.rb', line 442

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