to_hash now accept parametars
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 8 Jul 2006 16:03:52 +0000 (16:03 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 8 Jul 2006 16:03:52 +0000 (16:03 +0000)
git-svn-id: file:///home/dpavlin/svn/Biblio-Isis/trunk@56 4670fa4d-42ec-0310-ab5b-a66af6943492

lib/Biblio/Isis.pm
t/2_isis.t

index b11e856..a87994f 100644 (file)
@@ -491,12 +491,26 @@ following structure:
 
 This method will also create additional field C<000> with MFN.
 
+There is also more elaborative way to call C<to_hash> like this:
+
+  my $hash = $isis->to_hash({
+       mfn => 42,
+       include_empty_subfields => 1,
+  });
+
 =cut
 
 sub to_hash {
        my $self = shift;
 
+
        my $mfn = shift || confess "need mfn!";
+       my $arg;
+
+       if (ref($mfn) eq 'HASH') {
+               $arg = $mfn;
+               $mfn = $arg->{mfn} || confess "need mfn in arguments";
+       }
 
        # init record to include MFN as field 000
        my $rec = { '000' => [ $mfn ] };
@@ -662,7 +676,8 @@ You can find version dependencies documented here
 
 =item 0.20
 
-Added C<< $isis->mfn >> and support for repeatable subfields
+Added C<< $isis->mfn >>, support for repeatable subfields and
+C<< $isis->to_hash({ mfn => 42, ... }) >> calling convention
 
 =back
 
index de74585..a7b9405 100755 (executable)
@@ -3,7 +3,7 @@
 use strict;
 use blib;
 
-use Test::More tests => 128;
+use Test::More tests => 130;
 use File::Spec;
 
 BEGIN {
@@ -238,3 +238,5 @@ cmp_ok($ascii, 'eq', <<'__END_OF_ASCII__', 'to_ascii output');
 __END_OF_ASCII__
 
 
+ok(my $hash2 = $isis->to_hash({ mfn => $isis->mfn }), 'to_hash(mfn)');
+is_deeply( $hash2, $hash, 'same hash' );