Sha256: addb5b577037a47af9116f0331eca5d0730dc14cd1c57a96c267b49e3aa7d463
Contents?: true
Size: 936 Bytes
Versions: 3
Compression:
Stored size: 936 Bytes
Contents
module VCR # 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' Ping = ::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 module InternetConnection extend self EXAMPLE_HOST = "example.com" def available? @available = VCR::Ping.pingecho(EXAMPLE_HOST, 1, 80) unless defined?(@available) @available end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vcr-2.0.0.rc1 | lib/vcr/util/internet_connection.rb |
vcr-2.0.0.beta2 | lib/vcr/util/internet_connection.rb |
vcr-2.0.0.beta1 | lib/vcr/util/internet_connection.rb |