Class: Rage::SSE::Message
- Inherits:
-
Struct
- Object
- Struct
- Rage::SSE::Message
- Defined in:
- lib/rage/sse/message.rb
Overview
Represents a single Server-Sent Event. This class allows you to define the id, event, and retry fields for an SSE message.
Instance Attribute Summary collapse
-
#data ⇒ String, #to_json
The
datafield for the SSE event. -
#event ⇒ String
The
eventfield for the SSE event. -
#id ⇒ String
The
idfield for the SSE event. -
#retry ⇒ Integer
The
retryfield for the SSE event, in milliseconds.
Instance Method Summary collapse
Instance Attribute Details
#data ⇒ String, #to_json
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rage/sse/message.rb', line 13 Rage::SSE::Message = Struct.new(:id, :event, :retry, :data, keyword_init: true) do def to_s data_entry = if !data.is_a?(String) "data: #{data.to_json}\n" elsif data.include?("\n") data.split("\n").map { |d| "data: #{d}\n" }.join else "data: #{data}\n" end "#{data_entry}#{"id: #{id}\n" if id}#{"event: #{event}\n" if event}#{"retry: #{self.retry.to_i}\n" if self.retry && self.retry.to_i > 0}\n" end end |
#event ⇒ String
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rage/sse/message.rb', line 13 Rage::SSE::Message = Struct.new(:id, :event, :retry, :data, keyword_init: true) do def to_s data_entry = if !data.is_a?(String) "data: #{data.to_json}\n" elsif data.include?("\n") data.split("\n").map { |d| "data: #{d}\n" }.join else "data: #{data}\n" end "#{data_entry}#{"id: #{id}\n" if id}#{"event: #{event}\n" if event}#{"retry: #{self.retry.to_i}\n" if self.retry && self.retry.to_i > 0}\n" end end |
#id ⇒ String
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rage/sse/message.rb', line 13 Rage::SSE::Message = Struct.new(:id, :event, :retry, :data, keyword_init: true) do def to_s data_entry = if !data.is_a?(String) "data: #{data.to_json}\n" elsif data.include?("\n") data.split("\n").map { |d| "data: #{d}\n" }.join else "data: #{data}\n" end "#{data_entry}#{"id: #{id}\n" if id}#{"event: #{event}\n" if event}#{"retry: #{self.retry.to_i}\n" if self.retry && self.retry.to_i > 0}\n" end end |
#retry ⇒ Integer
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rage/sse/message.rb', line 13 Rage::SSE::Message = Struct.new(:id, :event, :retry, :data, keyword_init: true) do def to_s data_entry = if !data.is_a?(String) "data: #{data.to_json}\n" elsif data.include?("\n") data.split("\n").map { |d| "data: #{d}\n" }.join else "data: #{data}\n" end "#{data_entry}#{"id: #{id}\n" if id}#{"event: #{event}\n" if event}#{"retry: #{self.retry.to_i}\n" if self.retry && self.retry.to_i > 0}\n" end end |
Instance Method Details
#to_s ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/rage/sse/message.rb', line 14 def to_s data_entry = if !data.is_a?(String) "data: #{data.to_json}\n" elsif data.include?("\n") data.split("\n").map { |d| "data: #{d}\n" }.join else "data: #{data}\n" end "#{data_entry}#{"id: #{id}\n" if id}#{"event: #{event}\n" if event}#{"retry: #{self.retry.to_i}\n" if self.retry && self.retry.to_i > 0}\n" end |