class HTTPLogAnalyzer::Element::Source

Attributes

address[RW]
city[RW]
country[RW]
region[RW]

Public Instance Methods

parse(string) click to toggle source
# File lib/http-log-analyzer/element/source.rb, line 12
def parse(string)
  result = $geo_ip.city(string)
  if result
    city, region, country = %i{city_name real_region_name country_name}.map do |key|
      value = result.send(key)
      value.to_s.empty? ? nil : value
    end
    @address = result.ip
    @country = country
    @region = [region, country].join(', ') if region
    @city = [city, region, country].join(', ') if city
  else
    @ip = string
  end
end