From 2206fb85a71936eef9ef1e7813fbb16a7df6e1da Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Wed, 25 Sep 2013 18:50:22 -0400 Subject: [PATCH] Add from_bare_hash to Fieldmapper.pm. Teach the Perl Fieldmapper.pm to build objects from a hashref in a similar manner to how the JS Fieldmapper already can. Signed-off-by: Jason Stephenson --- Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm index f8bc724523..1c2ef311c9 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm @@ -439,6 +439,21 @@ sub to_bare_hash { return \%hash; } +# To complement to_bare_hash, and to mimic the fromHash method of the +# JavaScript Fieldmapper, from_bare_hash takes a hashref argument and +# builds an object from that. +sub from_bare_hash { + my $self = shift; + my $hash = shift; + + my $value = $self->new(); + for my $f ($self->properties) { + $value->$f($$hash{$f}); + } + + return $value; +} + sub clone { my $self = shift; return $self->new( [@$self] ); -- 2.11.0