Class: SelectRailsLog::Runner
Constant Summary
Constants included
from Constants
Constants::ACTION, Constants::CLIENT, Constants::COMPLETED, Constants::CONTROLLER, Constants::DEBUG, Constants::DEFAULT_OUTPUT, Constants::DURATION, Constants::HTTP_METHOD, Constants::HTTP_STATUS, Constants::ID, Constants::INTERVAL, Constants::LOGS, Constants::MESSAGE, Constants::PARAMETERS, Constants::PATH, Constants::PERFORMANCE, Constants::PERFORMANCE_ACTIVE_RECORD, Constants::PERFORMANCE_ALLOCATIONS, Constants::PERFORMANCE_VIEWS, Constants::PID, Constants::RAW_LOGS, Constants::REQUEST_ID, Constants::SEVERITY, Constants::STARTED, Constants::TIME
Instance Attribute Summary
Attributes inherited from Extension
#options
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Extension
option_initializers
Constructor Details
#initialize(options, standard_output) ⇒ Runner
Returns a new instance of Runner.
61
62
63
64
65
|
# File 'lib/select_rails_log/runner.rb', line 61
def initialize(options, standard_output)
super(options)
@count = 0
@standard_output = standard_output
end
|
Class Method Details
.run(argv, argf, out = $stdout) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/select_rails_log/runner.rb', line 17
def run(argv, argf, out = $stdout)
runner = setup_runner(argv, out)
begin
runner.run(Scanner.new(argf)) if runner.runnable?
rescue StopIteration, Errno::EPIPE, Interrupt
end
runner.success?
rescue StandardError => e
raise e if runner&.debug?
warn e.message
false
end
|
Instance Method Details
#debug? ⇒ Boolean
75
76
77
|
# File 'lib/select_rails_log/runner.rb', line 75
def debug?
options[:debug]
end
|
#help? ⇒ Boolean
67
68
69
|
# File 'lib/select_rails_log/runner.rb', line 67
def help?
options[:help]
end
|
#run(scanner) ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# File 'lib/select_rails_log/runner.rb', line 87
def run(scanner)
selector, printers = setup
counter_thread = counter_thread() if output_tty?(printers)
keep_raw = include_raw_printer?(printers)
scanner.select(selector, keep_raw:) do |data|
@count += 1
printers.each { _1.print(data) }
end
ensure
counter_thread&.kill
printers&.each(&:close)
end
|
#runnable? ⇒ Boolean
83
84
85
|
# File 'lib/select_rails_log/runner.rb', line 83
def runnable?
!help? && !version?
end
|
#success? ⇒ Boolean
79
80
81
|
# File 'lib/select_rails_log/runner.rb', line 79
def success?
help? || version? || @count.positive?
end
|
#version? ⇒ Boolean
71
72
73
|
# File 'lib/select_rails_log/runner.rb', line 71
def version?
options[:version]
end
|