Sha256: 8801758262af6be915171613d6873ada844bd15107ba8a31be56f454cfd27545
Contents?: true
Size: 696 Bytes
Versions: 1
Compression:
Stored size: 696 Bytes
Contents
module WorldFlags class GeoIPError < StandardError; end module Helper module Geo def self.ip_country_code ip = nil ip ||= request.remote_ip raise WorldFlags::GeoIPError, "IP address #{ip} is a localhost address" if local_ip?(ip) @geoip ||= GeoIP.new WorldFlags.geo_ip_db_path country = @geoip.country(ip) return country[2] unless country.nil? raise WorldFlags::GeoIPError, "No country code could be found for IP: #{ip}" end def self.local_ip? ip WorldFlags.localhost_list.include?(ip) end def ip_country_code ip = nil WorldFlags::Helper::Geo.ip_country_code ip end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
world-flags-0.4.7 | lib/world_flags/helper/geo.rb |