Class: Midori::EventSource

Inherits:
Object
  • Object
show all
Defined in:
lib/midori/eventsource.rb

Overview

This class provides methods for EventSource connection instance.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ EventSource

Init a EventSource instance with a connection

Parameters:

  • connection (EM::Connection)

    the connection instance of EventMachine



9
10
11
# File 'lib/midori/eventsource.rb', line 9

def initialize(connection)
  @connection = connection
end

Instance Attribute Details

#connectionEM::Connection

the connection instance of EventMachine

Returns:

  • (EM::Connection)

    the current value of connection



4
5
6
# File 'lib/midori/eventsource.rb', line 4

def connection
  @connection
end

Instance Method Details

#send(data) ⇒ Object

Send data and close the connection

Parameters:

  • data (String)

    data to be sent

Raises:



15
16
17
18
19
# File 'lib/midori/eventsource.rb', line 15

def send(data)
  raise Midori::Exception::EventSourceTypeError unless data.is_a? String
  @connection.send_data(data.split("\n").map {|str| "data: #{str}\n"}.join + "\n")
  @connection.close_connection_after_writing
end