class Geocoder::Lookup::Geoip2
Attributes
gem_name[R]
Public Class Methods
new()
click to toggle source
Calls superclass method
Geocoder::Lookup::Base::new
# File lib/geocoder/lookups/geoip2.rb, line 9 def initialize unless configuration[:file].nil? begin @gem_name = configuration[:lib] || 'maxminddb' require @gem_name rescue LoadError raise "Could not load Maxmind DB dependency. To use the GeoIP2 lookup you must add the #{@gem_name} gem to your Gemfile or have it installed in your system." end @mmdb = db_class.new(configuration[:file].to_s) end super end
Public Instance Methods
name()
click to toggle source
# File lib/geocoder/lookups/geoip2.rb, line 23 def name 'GeoIP2' end
required_api_key_parts()
click to toggle source
# File lib/geocoder/lookups/geoip2.rb, line 27 def required_api_key_parts [] end
Private Instance Methods
db_class()
click to toggle source
# File lib/geocoder/lookups/geoip2.rb, line 33 def db_class gem_name == 'hive_geoip2' ? Hive::GeoIP2 : MaxMindDB end
results(query)
click to toggle source
# File lib/geocoder/lookups/geoip2.rb, line 37 def results(query) return [] unless configuration[:file] if @mmdb.respond_to?(:local_ip_alias) && !configuration[:local_ip_alias].nil? @mmdb.local_ip_alias = configuration[:local_ip_alias] end result = @mmdb.lookup(query.to_s) result.nil? ? [] : [result] end