# File lib/geoip.rb, line 364 def city(hostname) ip = lookup_ip(hostname) if (@database_type == Edition::CITY_REV0 || @database_type == Edition::CITY_REV1) # Convert numeric IP address to an integer ipnum = iptonum(ip) pos = seek_record(ipnum) elsif (@database_type == Edition::CITY_REV1_V6) ipaddr = IPAddr.new ip pos = seek_record(ipaddr.to_i) else throw "Invalid GeoIP database type, can't look up City by IP" end read_city(pos-@database_segments[0], hostname, ip) end