class Geocoder::Lookup::Ip2locationLite

Attributes

gem_name[R]

Public Class Methods

new() click to toggle source
Calls superclass method Geocoder::Lookup::Base::new
# File lib/geocoder/lookups/ip2location_lite.rb, line 9
def initialize
  unless configuration[:file].nil?
    begin
      @gem_name = 'ip2location_ruby'
      require @gem_name
    rescue LoadError
      raise "Could not load IP2Location DB dependency. To use the IP2LocationLite lookup you must add the #{@gem_name} gem to your Gemfile or have it installed in your system."
    end
  end
  super
end

Public Instance Methods

name() click to toggle source
# File lib/geocoder/lookups/ip2location_lite.rb, line 21
def name
  'IP2LocationLite'
end
required_api_key_parts() click to toggle source
# File lib/geocoder/lookups/ip2location_lite.rb, line 25
def required_api_key_parts
  []
end

Private Instance Methods

results(query) click to toggle source
# File lib/geocoder/lookups/ip2location_lite.rb, line 31
def results(query)
  return [] unless configuration[:file]

  i2l = Ip2location.new.open(configuration[:file].to_s)
  result = i2l.get_all(query.to_s)
  result.nil? ? [] : [result]
end