Class: Dap::Filter::FilterGeoIP

Inherits:
Object
  • Object
show all
Includes:
BaseDecoder, GeoIPLibrary
Defined in:
lib/dap/filter/geoip.rb

Overview

Add GeoIP tags using the MaxMind GeoIP::City

Constant Summary

Constants included from GeoIPLibrary

GeoIPLibrary::GEOIP_ASN, GeoIPLibrary::GEOIP_ASN_DATABASE_PATH, GeoIPLibrary::GEOIP_CITY, GeoIPLibrary::GEOIP_CITY_DATABASE_PATH, GeoIPLibrary::GEOIP_DIRS, GeoIPLibrary::GEOIP_ORGS, GeoIPLibrary::GEOIP_ORG_DATABASE_PATH

Instance Attribute Summary

Attributes included from Base

#name, #opts

Instance Method Summary collapse

Methods included from BaseDecoder

#process

Methods included from Base

#initialize, #process

Instance Method Details

#decode(ip) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/dap/filter/geoip.rb', line 79

def decode(ip)
  unless @@geo_city
    raise "No MaxMind GeoIP::City data found"
  end
  geo_hash = @@geo_city.look_up(ip)
  return unless geo_hash
  ret = {}
  geo_hash.each_pair do |k,v|
    next unless k
    ret[k.to_s] = v.to_s
  end

  ret
end