class Ellen::Adapters::Hipchat
Public Instance Methods
run()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 13 def run bind connect rescue Interrupt exit end
say(message)
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 20 def say(message) client.say( body: message[:code] ? "/quote #{message[:body]}" : message[:body], from: message[:from], to: message[:original][:type] == "chat" ? message[:to] + "/resource" : message[:to], type: message[:original][:type], ) end
Private Instance Methods
bind()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 64 def bind client.on_private_message(&method(:on_message)) client.on_room_message(&method(:on_message)) end
client()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 31 def client @client ||= Xrc::Client.new( jid: jid, nickname: nickname, password: password, room_jid: room_jid, ) end
connect()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 69 def connect client.connect end
jid()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 42 def jid jid = Xrc::Jid.new(ENV["HIPCHAT_JID"]) jid.resource = "bot" jid.to_s end
nickname()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 60 def nickname ENV["HIPCHAT_NICKNAME"] end
on_message(message)
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 73 def on_message(message) robot.receive( body: message.body, from: message.from, from_name: username_of(message), to: message.to, type: message.type, ) end
password()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 56 def password ENV["HIPCHAT_PASSWORD"] end
room_jid()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 48 def room_jid "#{room_name}@conf.hipchat.com" end
room_name()
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 52 def room_name ENV["HIPCHAT_ROOM_NAME"] end
username_of(message)
click to toggle source
# File lib/ellen/adapters/hipchat.rb, line 83 def username_of(message) case message.type when "groupchat" Xrc::Jid.new(message.from).resource else client.users[message.from].name end end