Sha256: 08b5b2a6da9636167119861dfc38308ebf3ce111ca522fee0799be80eb9d24cd

Contents?: true

Size: 635 Bytes

Versions: 9

Compression:

Stored size: 635 Bytes

Contents

# Ruby 1.8 provides Ping.pingecho, but it was removed in 1.9.
# So we try requiring it, and if that fails, define it ourselves.
begin
  require 'ping'
rescue LoadError
  # This is copied, verbatim, from Ruby 1.8.7's ping.rb.
  require 'timeout'
  require "socket"

  module Ping
    def pingecho(host, timeout=5, service="echo")
      begin
        timeout(timeout) do
          s = TCPSocket.new(host, service)
          s.close
        end
      rescue Errno::ECONNREFUSED
        return true
      rescue Timeout::Error, StandardError
        return false
      end
      return true
    end
    module_function :pingecho
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vcr-1.6.0 lib/vcr/util/ping.rb
vcr-1.5.1 lib/vcr/util/ping.rb
vcr-1.5.0 lib/vcr/util/ping.rb
vcr-1.4.0 lib/vcr/ping.rb
vcr-1.3.3 lib/vcr/ping.rb
vcr-1.3.2 lib/vcr/ping.rb
vcr-1.3.1 lib/vcr/ping.rb
vcr-1.3.0 lib/vcr/ping.rb
vcr-1.2.0 lib/vcr/ping.rb