module PublicIp

Constants

MAX_RETRY_ATTEMPTS
TIMEOUT_IN_SECS
VERSION

Public Instance Methods

get_ip(service: :random) click to toggle source
# File lib/public_ip.rb, line 19
def get_ip(service: :random)
  tries ||= MAX_RETRY_ATTEMPTS
  if service == :random
    PublicIp::Service::Registry.random_service.ip
  else
    PublicIp::Service::Registry[service].ip
  end
rescue PublicIp::Service::TimedOut, PublicIp::Service::InvalidIpAddress
  tries -= 1
  retry if tries.positive? && service == :random

  raise
end
list_services() click to toggle source
# File lib/public_ip.rb, line 33
def list_services
  PublicIp::Service::Registry.available_services
end