module WorldFlags::Helper::Geo

Public Class Methods

country_code_from_ip(ip = nil) click to toggle source
# File lib/world_flags/helper/geo.rb, line 6
          def self.country_code_from_ip ip = nil
  ip ||= request.remote_ip
  raise WorldFlags::GeoIPError, "IP address #{ip} is a localhost address" if local_ip?(ip)
  
  # puts "find country code for ip: #{ip}" if debug?

  @geoip ||= ::GeoIP.new WorldFlags.geo_ip_db_path
  country = @geoip.country(ip)
  return country[2] unless country.nil?
rescue Exception => e
  raise WorldFlags::GeoIPError, "No country code could be found for IP: #{ip} - #{e}"
end
debug?() click to toggle source
# File lib/world_flags/helper/geo.rb, line 23
def self.debug?
  WorldFlags.debug?
end
local_ip?(ip) click to toggle source
# File lib/world_flags/helper/geo.rb, line 19
def self.local_ip? ip
  WorldFlags.localhost_list.include?(ip)
end

Public Instance Methods

country_code_from_ip(ip = nil) click to toggle source
# File lib/world_flags/helper/geo.rb, line 27
          def country_code_from_ip ip = nil
  WorldFlags::Helper::Geo.country_code_from_ip ip
end