Class: Lita::Adapters::Campfire::Connector

Inherits:
Object
  • Object
show all
Defined in:
lib/lita/adapters/campfire/connector.rb

Instance Method Summary collapse

Constructor Details

#initialize(robot, opts) ⇒ Connector

Returns a new instance of Connector.



5
6
7
8
9
10
11
# File 'lib/lita/adapters/campfire/connector.rb', line 5

def initialize(robot, opts)
  @robot     = robot
  @subdomain = opts.fetch(:subdomain)
  @apikey    = opts.fetch(:apikey)
  @rooms     = opts.fetch(:rooms)
  @debug     = opts.fetch(:debug) { false }
end

Instance Method Details

#connectObject



13
14
15
# File 'lib/lita/adapters/campfire/connector.rb', line 13

def connect
  @campfire = Tinder::Campfire.new(@subdomain, token: @apikey)
end

#disconnectObject



39
40
41
42
43
44
45
# File 'lib/lita/adapters/campfire/connector.rb', line 39

def disconnect
  Lita.logger.info("Disconnecting from Campfire.")
  rooms.each do |room_id|
    room = fetch_room(room_id)
    room.leave
  end
end

#join_roomsObject



17
18
19
20
21
22
23
24
25
# File 'lib/lita/adapters/campfire/connector.rb', line 17

def join_rooms
  rooms.each do |room_id|
    room = fetch_room(room_id)
    room.join
    callback = Callback.new(@robot, room)
    callback.register_users
    callback.listen
  end
end

#send_messages(room_id, messages) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/lita/adapters/campfire/connector.rb', line 27

def send_messages(room_id, messages)
  fetch_room(room_id).tap do |my_room|
    messages.each do |message|
      if message.include?("\n")
        my_room.paste message
      else
        my_room.speak message
      end
    end
  end
end