Class: SardonyxRing::Events::MessageEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/sardonyx_ring/events/message_event.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_payload) ⇒ MessageEvent

Returns a new instance of MessageEvent.



6
7
8
# File 'lib/sardonyx_ring/events/message_event.rb', line 6

def initialize(raw_payload)
  @raw_payload = raw_payload
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



28
29
30
31
32
# File 'lib/sardonyx_ring/events/message_event.rb', line 28

def method_missing(method, *args)
  return raw_payload.event.send(method, *args) if raw_payload.event.respond_to?(method)

  super
end

Instance Attribute Details

#raw_payloadObject (readonly)

Returns the value of attribute raw_payload.



10
11
12
# File 'lib/sardonyx_ring/events/message_event.rb', line 10

def raw_payload
  @raw_payload
end

Instance Method Details

#register_say_handler(callback) ⇒ Object



18
19
20
# File 'lib/sardonyx_ring/events/message_event.rb', line 18

def register_say_handler(callback)
  @say_handler = callback
end

#respond_to_missing?(symbol, include_private) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/sardonyx_ring/events/message_event.rb', line 22

def respond_to_missing?(symbol, include_private)
  return true if raw_payload.event.respond_to?(symbol)

  super
end

#say(params = {}) ⇒ Object



12
13
14
15
16
# File 'lib/sardonyx_ring/events/message_event.rb', line 12

def say(params = {})
  return unless @say_handler

  @say_handler.call(self, params)
end