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.



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

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

Instance Attribute Details

#responderObject (readonly)

Returns the value of attribute responder.



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

def responder
  @responder
end

#socketObject (readonly)

Returns the value of attribute socket.



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

def socket
  @socket
end

Instance Method Details

#event(name, data = nil) ⇒ Object



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

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

#message(data) ⇒ Object



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

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

#on_close(&block) ⇒ Object



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

def on_close &block
  @responder.on_close = block
end

#on_close=(block) ⇒ Object

Raises:

  • (ArgumentError)


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

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