Sha256: dfe9985d9b1e9feeff59fdd80b4a2ff4c31e2e32d2fc1e005b65785eabbaa64f

Contents?: true

Size: 708 Bytes

Versions: 15

Compression:

Stored size: 708 Bytes

Contents

module Berkshelf
  # @author Jamie Winsor <jamie@vialstudios.com>
  class TXResultSet
    attr_reader :results

    def initialize
      @results = []
    end

    def add_result(result)
      unless validate_result(result)
        raise ArgumentError, "Invalid Result: results must respond to :failed? and :success?"
      end

      @results << result
    end

    def failed
      results.select { |result| result.failed? }
    end

    def success
      results.select { |result| result.success? }
    end

    def has_errors?
      !failed.empty?
    end

    private

      def validate_result(result)
        result.respond_to?(:failed?) &&
          result.respond_to?(:success?)
      end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
berkshelf-0.4.0.rc4 lib/berkshelf/tx_result_set.rb
berkshelf-0.4.0.rc3 lib/berkshelf/tx_result_set.rb
berkshelf-0.4.0.rc2 lib/berkshelf/tx_result_set.rb
berkshelf-0.4.0.rc1 lib/berkshelf/tx_result_set.rb
berkshelf-0.3.7 lib/berkshelf/tx_result_set.rb
berkshelf-0.3.3 lib/berkshelf/tx_result_set.rb
berkshelf-0.3.2 lib/berkshelf/tx_result_set.rb
berkshelf-0.3.1 lib/berkshelf/tx_result_set.rb
berkshelf-0.3.0 lib/berkshelf/tx_result_set.rb
berkshelf-0.2.0 lib/berkshelf/tx_result_set.rb
berkshelf-0.1.5 lib/berkshelf/tx_result_set.rb
berkshelf-0.1.4 lib/berkshelf/tx_result_set.rb
berkshelf-0.1.3 lib/berkshelf/tx_result_set.rb
berkshelf-0.1.2 lib/berkshelf/tx_result_set.rb
berkshelf-0.1.1 lib/berkshelf/tx_result_set.rb