class Invoker::CLI::Tail
Attributes
process_names[RW]
Public Class Methods
new(process_names)
click to toggle source
# File lib/invoker/cli/tail.rb, line 4 def initialize(process_names) verify_process_name(process_names) @process_names = process_names @unix_socket = Invoker::IPC::UnixClient.new end
Public Instance Methods
run()
click to toggle source
# File lib/invoker/cli/tail.rb, line 10 def run socket = @unix_socket.send_and_wait('tail', process_names: process_names) trap('INT') { socket.close } loop do message = read_next_line(socket) break unless message puts message.tail_line end end
Private Instance Methods
read_next_line(socket)
click to toggle source
# File lib/invoker/cli/tail.rb, line 28 def read_next_line(socket) Invoker::IPC.message_from_io(socket) rescue nil end
verify_process_name(process_names)
click to toggle source
# File lib/invoker/cli/tail.rb, line 22 def verify_process_name(process_names) if process_names.empty? abort("Tail command requires one or more process name") end end