summaryrefslogtreecommitdiff
path: root/TIGERweb/Service.pm
blob: 65cc8c6ebb8ed9dafa6a0798bb98ae5c2e793ee1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package Geo::USCensus::TIGERweb::Service;

use strict;
use warnings;
use base 'Geo::USCensus::TIGERweb';
use Geo::USCensus::TIGERweb::Layer;

use List::Util qw(first);

sub layer {
  my $self = shift;
  my $id_or_name = shift;
  my $def = first { $_->{id} eq $id_or_name or $_->{name} eq $id_or_name }
            @{ $self->info->{layers} };
  if (!$def) {
    $self->{error} = "TIGERweb layer name/id '$id_or_name' not found";
    return;
  }
  return $self->create('Layer', $def->{id});
}

1;