Class: Lita::Extensions::Wizard

Inherits:
Object
  • Object
show all
Defined in:
lib/lita/extensions/wizard.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload) ⇒ Wizard

Returns a new instance of Wizard.



10
11
12
13
14
15
# File 'lib/lita/extensions/wizard.rb', line 10

def initialize(payload)
  @message = payload[:message]
  @route = payload[:route]
  @robot = payload[:robot]
  Lita.logger.debug "Initializing Lita::Extensions::Wizard with:\nMessage: #{message.body}\nRoute: #{route.inspect}"
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



4
5
6
# File 'lib/lita/extensions/wizard.rb', line 4

def message
  @message
end

#robotObject (readonly)

Returns the value of attribute robot.



4
5
6
# File 'lib/lita/extensions/wizard.rb', line 4

def robot
  @robot
end

#routeObject (readonly)

Returns the value of attribute route.



4
5
6
# File 'lib/lita/extensions/wizard.rb', line 4

def route
  @route
end

Class Method Details

.call(payload) ⇒ Object



6
7
8
# File 'lib/lita/extensions/wizard.rb', line 6

def self.call(payload)
  new(payload).call
end

Instance Method Details

#callObject



17
18
19
20
21
22
23
24
# File 'lib/lita/extensions/wizard.rb', line 17

def call
  process_message if should_process_message?
  Lita.logger.debug "Handled by wizard: #{!!message.extensions[:handled_by_wizard]}"
  Lita.logger.debug "Dummy route: #{route.extensions[:dummy] == true}"
  ret = compute_return_value
  Lita.logger.debug "Returning #{ret.inspect}"
  ret
end