Sha256: 92a1d50f2d9cdd217c38ff316196dba62777a161277e90457bcab5c7dba2f6e7

Contents?: true

Size: 723 Bytes

Versions: 14

Compression:

Stored size: 723 Bytes

Contents

module Typhoeus
  class Multi
    attr_reader :easy_handles

    def initialize
      @easy_handles = []
    end

    def remove(easy)
      multi_remove_handle(easy) if @easy_handles.include?(easy)
    end

    def add(easy)
      raise "trying to add easy handle twice" if @easy_handles.include?(easy)
      easy.set_headers() if easy.headers.empty?
      multi_add_handle(easy)
    end

    def perform()
      while active_handle_count > 0 do
        multi_perform
      end
      reset_easy_handles
    end

    def cleanup()
      multi_cleanup
    end

    def reset_easy_handles
      @easy_handles.dup.each do |easy|
        multi_remove_handle(easy)
        yield easy if block_given?
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 4 rubygems

Version Path
marnen-typhoeus-0.3.7 lib/typhoeus/multi.rb
marnen-typhoeus-0.3.6 lib/typhoeus/multi.rb
marnen-typhoeus-0.3.5 lib/typhoeus/multi.rb
marnen-typhoeus-0.3.4 lib/typhoeus/multi.rb
typhoeus-0.3.3 lib/typhoeus/multi.rb
typhoeus-0.3.2 lib/typhoeus/multi.rb
xenda-typhoeus-0.2.4 lib/typhoeus/multi.rb
typhoeus-0.2.4 lib/typhoeus/multi.rb
typhoeus-0.2.3 lib/typhoeus/multi.rb
arachni-typhoeus-0.2.0.2 lib/typhoeus/multi.rb
typhoeus-0.2.2 lib/typhoeus/multi.rb
arachni-typhoeus-0.2.0.1 lib/typhoeus/multi.rb
arachni-typhoeus-0.2.0 lib/typhoeus/multi.rb
typhoeus-0.2.1 lib/typhoeus/multi.rb