module EasyGeoIP::Client
Public Class Methods
get(*args, &block)
click to toggle source
# File lib/easy_geoip/client.rb, line 7 def self.get(*args, &block) connection.get(*args, &block) rescue Faraday::ClientError => error handle_error(error) end
get_json(*args, &block)
click to toggle source
# File lib/easy_geoip/client.rb, line 13 def self.get_json(*args, &block) body = get(*args, &block).body JSON.parse(body) end
Private Class Methods
connection()
click to toggle source
# File lib/easy_geoip/client.rb, line 20 def self.connection @connection ||= Faraday::Connection.new do |connection| connection.adapter Faraday.default_adapter connection.use Faraday::Response::RaiseError end end
handle_error(error)
click to toggle source
# File lib/easy_geoip/client.rb, line 27 def self.handle_error(error) case error when Faraday::ConnectionFailed raise EasyGeoIP::Error::ConnectionFailed.new error when Faraday::ResourceNotFound raise EasyGeoIP::Error::ResourceNotFound.new error when Faraday::TimeoutError raise EasyGeoIP::Error::TimeoutError.new error else # Faraday::ClientError raise EasyGeoIP::Error::ClientError.new error end end