module Meshchat::Ui::CLI::ReadlineInput::Handler
Public Class Methods
new()
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 16 def initialize Readline.callback_handler_install('> ') do |line| EventMachine.next_tick { handle_input(line) } end end
Public Instance Methods
callback_on_next_tick=(callback)
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 45 def callback_on_next_tick=(callback) @callback = callback end
handle_input(line)
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 22 def handle_input(line) if @callback # call and clear, so we can resume normal # input handling @callback.call(line) @callback = nil else @input_receiver.create_input(line) end end
input_receiver=(receiver)
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 41 def input_receiver=(receiver) @input_receiver = receiver end
notify_readable()
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 33 def notify_readable Readline.callback_read_char end
unbind()
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 37 def unbind Readline.callback_handler_remove end