class ApacheLogGeo::DB

Public Instance Methods

get(ip) click to toggle source
# File lib.rb, line 281
def get ip
  r = lookup ip
  return nil unless r

  {
    city:         r.dig('city', 'names', 'en'),
    continent:    r.dig('continent', 'names', 'en'),
    country:      r.dig('country', 'names', 'en'),
    country_code: r.dig('country', 'iso_code'),
    eu:           r.dig('country', 'is_in_european_union'),
    latitude:     r.dig('location', 'latitude'),
    longitude:    r.dig('location', 'longitude'),
    postcode:     r.dig('postal', 'code'),
    subdivisions: r.dig('subdivisions')&.map {|v| v&.dig('names', 'en') }&.compact
  }
end
lookup(_ip;) click to toggle source
# File lib.rb, line 279
def lookup _ip; raise 'not implemented'; end