Sha256: 0f161012c870b998fc689cc9846ced04d796e483182a405e55192f6395e38733
Contents?: true
Size: 1 KB
Versions: 18
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true require 'eac_ruby_utils/envs/command/exec_error' module EacRubyUtils module Envs class Command class ExecuteResult attr_reader :r, :options def initialize(result, options) @r = result @options = options end def result return exit_code_zero_result if exit_code_zero? return expected_error_result if expected_error? raise ::EacRubyUtils::Envs::Command::ExecError, 'Failed!' end def success? exit_code_zero? || expected_error? end private def exit_code_zero? r[:exit_code]&.zero? end def exit_code_zero_result r[options[:output] || :stdout] end def expected_error_result options[:exit_outputs][r[:exit_code]] end def expected_error? options[:exit_outputs].is_a?(Hash) && options[:exit_outputs].key?(r[:exit_code]) end end end end end
Version data entries
18 entries across 18 versions & 2 rubygems