The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

GeoIP2::Model::Omni - Model class for the GeoIP2 Precision Omni end point

VERSION

version 0.040000

SYNOPSIS

  use 5.008;

  use GeoIP2::WebService::Client;

  my $client = GeoIP2::WebService::Client->new(
      user_id     => 42,
      license_key => 'abcdef123456',
  );

  my $omni = $client->omni( ip => '24.24.24.24' );

  my $city_rec = $omni->city();
  say $city_rec->name();

DESCRIPTION

This class provides a model for the data returned by the GeoIP2 Precision Omni end point.

The only difference between the City, City/ISP/Org, and Omni model classes is which fields in each record may be populated. See http://dev.maxmind.com/geoip/geoip2/web-services for more details.

METHODS

This class provides the following methods, each of which returns a record object.

$omni->city()

Returns a GeoIP2::Record::City object representing country data for the requested IP address.

$omni->continent()

Returns a GeoIP2::Record::Continent object representing continent data for the requested IP address.

$omni->country()

Returns a GeoIP2::Record::Country object representing country data for the requested IP address. This record represents the country where MaxMind believes the IP is located.

$omni->location()

Returns a GeoIP2::Record::Location object representing country data for the requested IP address.

$omni->maxmind()

Returns a GeoIP2::Record::MaxMind object representing data about your MaxMind account.

$omni->postal()

Returns a GeoIP2::Record::Postal object representing postal code data for the requested IP address.

$omni->registered_country()

Returns a GeoIP2::Record::Country object representing the registered country data for the requested IP address. This record represents the country where the ISP has registered a given IP block and may differ from the user's country.

$omni->represented_country()

Returns a GeoIP2::Record::RepresentedCountry object for the country represented by the requested IP address. The represented country may differ from the country for things like military bases or embassies.

$omni->subdivisions()

Returns an array of GeoIP2::Record::Subdvision objects representing the country subdivisions for the requested IP address. The number and type of subdivisions varies by country, but a subdivision is typically a state, province, county, etc.

Some countries have multiple levels of subdivisions. For instance, the subdivisions array for Oxford in the United Kingdom would have England as the first element and Oxfordshire as the second element. The subdivisions array for Minneapolis in the United States would have a single object for Minnesota.

If the response did not contain any subdivisions, this method returns an empty list.

$omni->most_specific_subdivision()

Returns a single GeoIP2::Record::Subdivision object representing the most specific subdivision returned.

If the response did not contain any subdivisions, this method returns a GeoIP2::Record::Subdivision object with no values.

$omni->traits()

Returns a GeoIP2::Record::Traits object representing the traits for the requested IP address.

AUTHORS

  • Dave Rolsky <drolsky@maxmind.com>

  • Greg Oschwald <goschwald@maxmind.com>

  • Olaf Alders <oalders@maxmind.com>

CONTRIBUTOR

Graham Knop <haarg@haarg.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by MaxMind, Inc..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.