Do not exit when using as a library

This commit is contained in:
kojix2 2021-01-20 00:07:23 +09:00
parent 62cc6ba364
commit 8db1306e07
7 changed files with 19 additions and 8 deletions

View File

@ -3,4 +3,4 @@
require 'youplot'
YouPlot::Command.new.run
YouPlot::Command.new.run_as_executable

View File

@ -3,4 +3,4 @@
require 'youplot'
YouPlot::Command.new.run
YouPlot::Command.new.run_as_executable

View File

@ -6,4 +6,10 @@ require 'youplot/dsv'
require 'youplot/command'
module YouPlot
class << self
attr_accessor :run_as_executable
def run_as_executable?
@run_as_executable
end
end
end

View File

@ -181,14 +181,14 @@ module YouPlot
warn " Headers: \e[35m#{data.headers.inspect}\e[0m"
warn " The first item is: \e[35m\"#{series[0][0]}\"\e[0m"
warn " The last item is : \e[35m\"#{series[0][-1]}\"\e[0m"
exit 1
exit 1 if YouPlot.run_as_executable?
end
if fmt == 'xyxy' && series.size.odd?
warn 'YouPlot: In the xyxy format, the number of series must be even.'
warn ''
warn " Number of series: \e[35m#{series.size}\e[0m"
warn " Headers: \e[35m#{data.headers.inspect}\e[0m"
exit 1
exit 1 if YouPlot.run_as_executable?
end
end
end

View File

@ -22,6 +22,11 @@ module YouPlot
@backend = YouPlot::Backends::UnicodePlotBackend
end
def run_as_executable
YouPlot.run_as_executable = true
run
end
def run
parser.parse_options(@argv)
@command ||= parser.command

View File

@ -93,7 +93,7 @@ module YouPlot
# This is why you need the code below.
parser.on('--help', 'print sub-command help menu') do
puts parser.help
exit
exit if YouPlot.run_as_executable?
end
parser.on('--debug', TrueClass, 'print preprocessed data') do |v|
options[:debug] = v
@ -136,7 +136,7 @@ module YouPlot
main_parser.on('--help', 'print sub-command help menu') do
puts main_parser.banner
puts
exit
exit if YouPlot.run_as_executable?
end
end

View File

@ -25,10 +25,10 @@ module YouPlot
Data.new(headers, series)
elsif h_size > s_size
warn "\e[35mThe number of headers is greater than the number of series.\e[0m"
exit 1
exit 1 if YouPlot.run_as_executable?
elsif h_size < s_size
warn "\e[35mThe number of headers is less than the number of series.\e[0m"
exit 1
exit 1 if YouPlot.run_as_executable?
end
end
end