Class: RSMP::Event

Inherits:
Data
  • Object
show all
Defined in:
lib/rsmp/event.rb

Overview

A typed occurrence produced by a long-running node or connection.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, source:, session_id: nil, message: nil, failure: nil, context: {}, at: Time.now) ⇒ Event

Returns a new instance of Event.

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/rsmp/event.rb', line 4

def initialize(type:, source:, session_id: nil, message: nil, failure: nil, context: {}, at: Time.now)
  raise ArgumentError, 'event type must be a Symbol' unless type.is_a?(Symbol)
  raise ArgumentError, 'event context must be a Hash' unless context.is_a?(Hash)

  super(
    type: type,
    source: source,
    session_id: session_id,
    message: message,
    failure: failure,
    context: context.dup.freeze,
    at: at
  )
end

Instance Attribute Details

#atObject (readonly)

Returns the value of attribute at

Returns:

  • (Object)

    the current value of at



3
4
5
# File 'lib/rsmp/event.rb', line 3

def at
  @at
end

#contextObject (readonly)

Returns the value of attribute context

Returns:

  • (Object)

    the current value of context



3
4
5
# File 'lib/rsmp/event.rb', line 3

def context
  @context
end

#failureObject (readonly)

Returns the value of attribute failure

Returns:

  • (Object)

    the current value of failure



3
4
5
# File 'lib/rsmp/event.rb', line 3

def failure
  @failure
end

#messageObject (readonly)

Returns the value of attribute message

Returns:

  • (Object)

    the current value of message



3
4
5
# File 'lib/rsmp/event.rb', line 3

def message
  @message
end

#session_idObject (readonly)

Returns the value of attribute session_id

Returns:

  • (Object)

    the current value of session_id



3
4
5
# File 'lib/rsmp/event.rb', line 3

def session_id
  @session_id
end

#sourceObject (readonly)

Returns the value of attribute source

Returns:

  • (Object)

    the current value of source



3
4
5
# File 'lib/rsmp/event.rb', line 3

def source
  @source
end

#typeObject (readonly)

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



3
4
5
# File 'lib/rsmp/event.rb', line 3

def type
  @type
end