Module: WorldFlags::Helper::Geo

Defined in:
lib/world_flags/helper/geo.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.ip_country_code(ip = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/world_flags/helper/geo.rb', line 6

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

.local_ip?(ip) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/world_flags/helper/geo.rb', line 16

def self.local_ip? ip
  WorldFlags.localhost_list.include?(ip)
end

Instance Method Details

#ip_country_code(ip = nil) ⇒ Object



20
21
22
# File 'lib/world_flags/helper/geo.rb', line 20

def ip_country_code ip = nil
	WorldFlags::Helper::Geo.ip_country_code ip
end