Class: Butler::Dialog

Inherits:
Object
  • Object
show all
Defined in:
lib/butler/dialog.rb

Overview

A message can be converted to a dialog, this will open a query to the originator of the query and intercept every message there

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(plugin) ⇒ Dialog

Returns a new instance of Dialog.



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/butler/dialog.rb', line 30

def initialize(plugin)
  @plugin = plugin
  @plugin.butler.subscribe(:PRIVMSG, 0, true) { |listener, message|
    if message.private? then
      postpone
      dialog(listener, message)
      :block
    else
      :pass
    end
  }
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args) ⇒ Object



60
61
62
# File 'lib/butler/dialog.rb', line 60

def method_missing(*args)
  @plugin.__send__(*args)
end

Class Method Details

.reminder(after, string) ⇒ Object



25
26
27
# File 'lib/butler/dialog.rb', line 25

def reminder(after, string)
  @reminder = after, string
end

.timeout(after, string) ⇒ Object



21
22
23
# File 'lib/butler/dialog.rb', line 21

def timeout(after, string)
  @timeout = after, string
end

Instance Method Details

#dialog(listener, message) ⇒ Object



48
49
50
# File 'lib/butler/dialog.rb', line 48

def dialog(listener, message)
  
end

#localize(*args) ⇒ Object Also known as: _



55
56
57
# File 'lib/butler/dialog.rb', line 55

def localize(*args)
  @plugin.localize(*args)
end

#postponeObject



43
44
45
46
# File 'lib/butler/dialog.rb', line 43

def postpone
  @reminder.postpone
  @timeout.postpone
end

#timeout(timer, string) ⇒ Object



52
53
# File 'lib/butler/dialog.rb', line 52

def timeout(timer, string)
end