Class: Adhearsion::XMPP::Plugin

Inherits:
Plugin
  • Object
show all
Defined in:
lib/adhearsion/xmpp/plugin.rb

Instance Method Summary collapse

Constructor Details

#initializePlugin

Returns a new instance of Plugin.



26
27
28
29
# File 'lib/adhearsion/xmpp/plugin.rb', line 26

def initialize
  @config ||= Adhearsion.config[:xmpp]
  init_blather unless @config.use_punchblock
end

Instance Method Details

#clientObject



64
65
66
# File 'lib/adhearsion/xmpp/plugin.rb', line 64

def client
  @config.use_punchblock ? PunchblockPlugin.client : Connection.client
end

#connectionObject



58
59
60
61
62
# File 'lib/adhearsion/xmpp/plugin.rb', line 58

def connection
  @config.use_punchblock ?
    PunchblockPlugin.connection :
    Connection
end

#init_blatherObject



40
41
42
43
44
45
46
# File 'lib/adhearsion/xmpp/plugin.rb', line 40

def init_blather
  raise "Must supply a jid argument to the XMPP configuration" if (@config.jid.nil? || @config.jid.empty?)
  raise "Must supply a password argument to the XMPP configuration" if (@config.password.nil? || @config.password.empty?)

  Connection.extend Blather::DSL
  Connection.start @config.jid, @config.password, @config.server, @config.port
end

#run_pluginObject



31
32
33
# File 'lib/adhearsion/xmpp/plugin.rb', line 31

def run_plugin
  run_blather unless @config.use_punchblock
end

#start_punchblockObject



35
36
37
38
# File 'lib/adhearsion/xmpp/plugin.rb', line 35

def start_punchblock
  # Nothing needed here; everything is delegated
  nil
end

#stopObject

Stop the XMPP connection



50
51
52
# File 'lib/adhearsion/xmpp/plugin.rb', line 50

def stop
  stop_blather unless @config.use_punchblock
end

#stop_blatherObject



54
55
56
# File 'lib/adhearsion/xmpp/plugin.rb', line 54

def stop_blather
  Connection.stop
end