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.



343
344
345
346
# File 'lib/angelo/base.rb', line 343

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

Instance Attribute Details

#responderObject (readonly)

Returns the value of attribute responder.



341
342
343
# File 'lib/angelo/base.rb', line 341

def responder
  @responder
end

#socketObject (readonly)

Returns the value of attribute socket.



341
342
343
# File 'lib/angelo/base.rb', line 341

def socket
  @socket
end

Instance Method Details

#event(name, data = nil) ⇒ Object



348
349
350
# File 'lib/angelo/base.rb', line 348

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

#message(data) ⇒ Object



352
353
354
# File 'lib/angelo/base.rb', line 352

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

#on_close(&block) ⇒ Object



356
357
358
# File 'lib/angelo/base.rb', line 356

def on_close &block
  @responder.on_close = block
end

#on_close=(block) ⇒ Object

Raises:

  • (ArgumentError)


360
361
362
363
# File 'lib/angelo/base.rb', line 360

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