Class: Lita::Adapters::Xmpp

Inherits:
Adapter
  • Object
show all
Defined in:
lib/lita/adapters/xmpp.rb,
lib/lita/adapters/xmpp/callback.rb,
lib/lita/adapters/xmpp/connector.rb

Defined Under Namespace

Classes: Callback, Connector

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(robot) ⇒ Xmpp

Returns a new instance of Xmpp.



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/lita/adapters/xmpp.rb', line 13

def initialize(robot)
  super

  set_default_config_values

  @connector = Connector.new(
    robot,
    config.jid,
    config.password,
    debug: config.debug,
    connect_domain: config.connect_domain
  )
end

Instance Attribute Details

#connectorObject (readonly)

Returns the value of attribute connector.



11
12
13
# File 'lib/lita/adapters/xmpp.rb', line 11

def connector
  @connector
end

Instance Method Details

#runObject



27
28
29
30
31
32
33
# File 'lib/lita/adapters/xmpp.rb', line 27

def run
  connector.connect
  connector.join_rooms(config.muc_domain, rooms)
  sleep
rescue Interrupt
  shut_down
end

#send_messages(target, strings) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/lita/adapters/xmpp.rb', line 35

def send_messages(target, strings)
  if target.room
    connector.message_muc(target.room, strings)
  else
    connector.message_jid(target.user.id, strings)
  end
end

#send_raw_messages(target, strings) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/lita/adapters/xmpp.rb', line 43

def send_raw_messages(target, strings)
  if target.room
    connector.message_muc(target.room, strings, true)
  else
    connector.message_jid(target.user.id, strings)
  end
end

#set_topic(target, topic) ⇒ Object



51
52
53
# File 'lib/lita/adapters/xmpp.rb', line 51

def set_topic(target, topic)
  connector.set_topic(target.room, topic)
end

#shut_downObject



55
56
57
# File 'lib/lita/adapters/xmpp.rb', line 55

def shut_down
  connector.shut_down
end