Sha256: 8e84192c931005514b01a2de5f9313d711a59b2bc6718071d44605dcb164e733

Contents?: true

Size: 912 Bytes

Versions: 22

Compression:

Stored size: 912 Bytes

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("#{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
    end
  end
end

Version data entries

22 entries across 22 versions & 3 rubygems

Version Path
avm-tools-0.102.2 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.20.2 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.102.1 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.20.1 lib/eac_cli/runner/instance_methods.rb
eac_cli-0.20.0 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.102.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.19.0 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.101.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.18.0 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.100.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
ehbrs-tools-0.21.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
avm-tools-0.99.1 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.17.0 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.99.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
avm-tools-0.98.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
avm-tools-0.97.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
avm-tools-0.96.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.16.3 lib/eac_cli/runner/instance_methods.rb
avm-tools-0.95.0 vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
eac_cli-0.16.2 lib/eac_cli/runner/instance_methods.rb