NAME Net::TribalWarsMap::API::TribeLookup - Query general information about tribes. VERSION version 0.1.0 SYNOPSIS # Tag based lookup my $result = Net::TribalWarsMap::API::TribeLookup->get_tag('en69', 'kill'); # Generic search my @results = Net::TribalWarsMap::API::TribeLookup->search_tribes('en69', 'Alex'); # generic search with name filter my @results = Net::TribalWarsMap::API::TribeLookup->search_tribes('en69', 'lex',qr/^Alex/ ); # Advanced my $instance = Net::TribalWarsMap::API::TribeLookup->new( world => 'en69', search => 'alex', ); my $raw_results = $instance->_results; METHODS "ua" my $ua = $instance->ua; "decoder" my $decoder = $instance->decoder(); "world" my $world = $instance->world(); # en67 or similar "search" my $search = $instance->search(); "uri" my $search_uri = $class->new( world => ... , search => ... )->uri; "get_tag" my $result = $class->get_tag( $world, $tag ); For example: my $result = $class->get_tag('en69', 'kill'); If $tag is not found, "undef" is returned. "search_tribes" my @results = $class->search_tribes( $world, $search_string ); or my @results = $class->search_tribes( $world, $search_string , $name_filter_regexp ); For instance: my @results = $class->search_tribes( 'en69', 'kill' ); will return all tribes in "world en69" with the sub-string "kill" in their tag or name. my @results = $class->search_tribes( 'en69', 'kill' , qr/bar/); will return all tribes in "world en69" with the sub-string "kill" in their tag or name, where their name also matches $tribe->name =~ qr/bar/ ATTRIBUTES "ua" The HTTP User Agent to use for requests. Default is a "Net::TribalWarsMap::API::HTTP" instance. $instance->new( ua => $user_agent ); ... my $ua = $instance->ua(); "decoder" The "JSON" Decoder object my $instance = $class->new( decoder => JSON->new() ); "world" MANDATORY PARAMETER: my $instance = $class->new( world => $world_name ); This will be something like "en67", and is the prefix used in domain "URI"'s. "search" my $instance = $class->new( search => $string ); "uri" Normally this parameter is not required to be provided, and is instead composed by joining an existing base URI with "world" "search" and "_ts" my $instance = $class->new( uri => 'fully qualified search URI' ); PRIVATE ATTRIBUTES "_ts" my $instance = $class->new( _ts => "mm-dd-yyy" ); "_results" Lazy builder that returns a "json"-decoded version of the result of fetching "uri". my $instance = $class->new( _results => { %complex_structure } ); "_decoded_results" Lazy builder that returns a Hash of Objects decoded from the result of "_results" my %complex_structure = ( key => Net::TribalWarsMap::API::TribeLookup::Result->new(), key2 => Net::TribalWarsMap::API::TribeLookup::Result->new(), ); my $instance => $class->new( _decoded_results => { %complex_structure } ); PRIVATE METHODS "_ts" my $now = $instance->_ts; "_results" my $raw_results = $instance->_results; "_decoded_results" my %decoded_results = %{ $instance->_decoded_results }; AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.