Sha256: 02b248084a41157156a8b6c903d7086a6b238ed8217191fd6ffeaf79f2d762e6

Contents?: true

Size: 916 Bytes

Versions: 8

Compression:

Stored size: 916 Bytes

Contents

module Paraduct
  class TestResponse
    attr_reader :jobs

    def initialize
      @jobs = []
    end

    delegate :push, to: :jobs, prefix: true

    def successful?
      @jobs.all?{ |result| result[:successful] }
    end

    def failure?
      !successful?
    end

    def detail_message
      all_count = @jobs.count
      successful_count = @jobs.select{ |result| result[:successful] }.count
      failure_count = all_count - successful_count

      message = "======================================================\n"

      if failure_count > 0
        message << "Failures:\n\n"
        @jobs.select{ |result| !result[:successful] }.each_with_index do |result, i|
          message << "  #{i + 1}) #{result[:formatted_params]}\n"
        end
        message << "\n"
      end
      message << "#{all_count} jobs, #{failure_count} failures, #{successful_count} passed\n"

      message
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
paraduct-0.0.1.beta11 lib/paraduct/test_response.rb
paraduct-0.0.1.beta10 lib/paraduct/test_response.rb
paraduct-0.0.1.beta9 lib/paraduct/test_response.rb
paraduct-0.0.1.beta8 lib/paraduct/test_response.rb
paraduct-0.0.1.beta7 lib/paraduct/test_response.rb
paraduct-0.0.1.beta6 lib/paraduct/test_response.rb
paraduct-0.0.1.beta5 lib/paraduct/test_response.rb
paraduct-0.0.1.beta4 lib/paraduct/test_response.rb