From: Jason Stephenson Date: Sun, 11 Dec 2011 01:28:48 +0000 (-0500) Subject: Add class_for_hint function to OpenILS::Utils::Fieldmapper. X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=18eb592b77d1ce42c2e0e32c8a393d9ea7779fba;p=evergreen%2Fmasslnc.git Add class_for_hint function to OpenILS::Utils::Fieldmapper. Use this function to find a Fieldmapper class from the JSON hint or class id: my $class = Fieldmapper::class_for_hint('au'); print("$class\n"); Will print: Fieldmapper::actor::user Signed-off-by: Jason Stephenson Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm index e1bebb7219..df00277cbf 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm @@ -37,6 +37,15 @@ sub classes { return keys %$fieldmap; } +# Find a Fieldmapper class given the json hint. +sub class_for_hint { + my $hint = shift; + foreach (keys %$fieldmap) { + return $_ if ($fieldmap->{$_}->{hint} eq $hint); + } + return undef; +} + sub get_attribute { my $attr_list = shift; my $attr_name = shift;