Sha256: 3a2df51234fc1ddf939264d5015433bec9fac5fe39651f2cf31487a9029810ff
Contents?: true
Size: 1.01 KB
Versions: 45
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module EacCli module Runner module InstanceMethods PARSER_ERROR_EXIT_CODE = 1 def run_run parsed run_callbacks(:run) { run } rescue ::EacCli::Parser::Error => e run_parser_error(e) rescue ::EacCli::Runner::Exit # rubocop:disable Lint/SuppressedException # Do nothing end def run_parser_error(error) $stderr.write("#{program_name}: #{error}\n") ::Kernel.exit(PARSER_ERROR_EXIT_CODE) end def runner_context return @runner_context if @runner_context raise 'Context was required, but was not set yet' end def runner_context=(new_runner_context) @runner_context = new_runner_context @parsed = nil end def parsed @parsed ||= ::EacCli::Parser.new(self.class.runner_definition, runner_context.argv).parsed end def program_name runner_context.if_present(&:program_name) || $PROGRAM_NAME end end end end
Version data entries
45 entries across 45 versions & 3 rubygems