class Del::Robot
A funky robo-sapien.
Attributes
configuration[R]
jid[R]
name[R]
Public Class Methods
new(configuration: Del.configuration)
click to toggle source
# File lib/del/robot.rb, line 8 def initialize(configuration: Del.configuration) @configuration = configuration @jid = configuration.jid @name = configuration.name end
Public Instance Methods
get_funky!(start_server: true)
click to toggle source
# File lib/del/robot.rb, line 14 def get_funky!(start_server: true) Del.logger.info('🔥🔥🔥') xmpp_connection.connect(self) if start_server deltron = Del::Tron.new(self, configuration) socket_server.run(deltron) end rescue Interrupt xmpp_connection.disconnect end
receive(message, source:)
click to toggle source
# File lib/del/robot.rb, line 25 def receive(message, source:) return if source.from?(self) configuration.router.route( Message.new(message, robot: self, source: source) ) end
send_message(jid, message)
click to toggle source
# File lib/del/robot.rb, line 33 def send_message(jid, message) if user?(jid) xmpp_connection.deliver(jid, message) else xmpp_connection.deliver_to_room(jid, message) end end
Private Instance Methods
socket_server()
click to toggle source
# File lib/del/robot.rb, line 60 def socket_server @socket_server ||= SocketServer.new(socket_file: configuration.socket_file) end
user?(jid)
click to toggle source
# File lib/del/robot.rb, line 65 def user?(jid) configuration.users[jid] end
xmpp_connection()
click to toggle source
# File lib/del/robot.rb, line 56 def xmpp_connection @xmpp_connection ||= XMPPConnection.new(configuration: configuration) end