Sha256: 7d13fda3fbd964e7d6282ba3d3da719331f56006c53d9d74eeccd40eaa220fc8
Contents?: true
Size: 1008 Bytes
Versions: 36
Compression:
Stored size: 1008 Bytes
Contents
require 'geocoder/lookups/base' require 'geocoder/results/geoip2' module Geocoder module Lookup class Geoip2 < Base attr_reader :gem_name 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 def name 'GeoIP2' end def required_api_key_parts [] end private def db_class gem_name == 'hive_geoip2' ? Hive::GeoIP2 : MaxMindDB end def results(query) return [] unless configuration[:file] result = @mmdb.lookup(query.to_s) result.nil? ? [] : [result] end end end end
Version data entries
36 entries across 36 versions & 4 rubygems