summaryrefslogtreecommitdiff
path: root/TIGERweb/Service.pm
diff options
context:
space:
mode:
Diffstat (limited to 'TIGERweb/Service.pm')
-rw-r--r--TIGERweb/Service.pm22
1 files changed, 22 insertions, 0 deletions
diff --git a/TIGERweb/Service.pm b/TIGERweb/Service.pm
new file mode 100644
index 0000000..65cc8c6
--- /dev/null
+++ b/TIGERweb/Service.pm
@@ -0,0 +1,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;