Sha256: 944f32742dad2dfe067de52f9da01cc532dd1cd964935f838bdb6ade541834d5
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
module Lita module Adapters # An adapter that runs Lita in a UNIX shell. class Shell < Adapter # Creates a "Shell User" and then loops a prompt and input, passing the # incoming messages to the robot. # @return [void] def run user = User.create(1, name: "Shell User") source = Source.new(user) puts 'Type "exit" or "quit" to end the session.' loop do print "#{robot.name} > " input = $stdin.gets.chomp.strip break if input == "exit" || input == "quit" robot.receive(build_message(robot, input, source)) end end # Outputs outgoing messages to the shell. # @param target [Lita::Source] Unused, since there is only one user in the # shell environment. # @param strings [Array<String>] An array of strings to output. # @return [void] def send_messages(target, strings) puts strings end # Adds a blank line for a nice looking exit. # @return [void] def shut_down puts end private def build_message(robot, input, source) message = Message.new(robot, input, source) message.command! if Lita.config.adapter.private_chat message end end Lita.register_adapter(:shell, Shell) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lita-2.2.1 | lib/lita/adapters/shell.rb |