
marvin at rectangular
Jul 27, 2008, 10:04 AM
Post #1 of 1
(84 views)
Permalink
|
|
r3634 - in trunk/perl: . lib/KinoSearch/Util t
|
|
Author: creamyg Date: 2008-07-27 10:04:44 -0700 (Sun, 27 Jul 2008) New Revision: 3634 Removed: trunk/perl/lib/KinoSearch/Util/VerifyArgs.pm Modified: trunk/perl/MANIFEST trunk/perl/lib/KinoSearch/Util/ToolSet.pm trunk/perl/t/010-verify_args.t Log: Migrate VerifyArgs utils into KinoSearch::Util::ToolSet. Modified: trunk/perl/MANIFEST =================================================================== --- trunk/perl/MANIFEST 2008-07-26 02:52:27 UTC (rev 3633) +++ trunk/perl/MANIFEST 2008-07-27 17:04:44 UTC (rev 3634) @@ -203,7 +203,6 @@ lib/KinoSearch/Util/StringHelper.pm lib/KinoSearch/Util/ToolSet.pm lib/KinoSearch/Util/VArray.pm -lib/KinoSearch/Util/VerifyArgs.pm lib/KinoSearch/Util/VirtualTable.pm lib/KSx/Remote/SearchClient.pm lib/KSx/Remote/SearchServer.pm Modified: trunk/perl/lib/KinoSearch/Util/ToolSet.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-26 02:52:27 UTC (rev 3633) +++ trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-27 17:04:44 UTC (rev 3634) @@ -23,7 +23,6 @@ ); use Storable qw( nfreeze thaw ); use KinoSearch qw( K_DEBUG kdump ); -use KinoSearch::Util::VerifyArgs qw( verify_args kerror a_isa_b ); our @EXPORT = qw( carp @@ -53,6 +52,54 @@ kerror ); + +our @EXPORT_OK = qw( verify_args kerror a_isa_b ); + +my $kerror; + +sub kerror {$kerror} + +# Verify that named parameters exist in a defaults hash. +sub verify_args { + my $defaults = shift; # leave the rest of @_ intact + + # Verify that args came in pairs. + if ( @_ % 2 ) { + my ( $package, $filename, $line ) = caller(1); + $kerror + = "Parameter error: odd number of args at $filename line $line\n"; + return 0; + } + + # Verify keys, ignore values. + while (@_) { + my ( $var, undef ) = ( shift, shift ); + next if exists $defaults->{$var}; + my ( $package, $filename, $line ) = caller(1); + $kerror = "Invalid parameter: '$var' at $filename line $line\n"; + return 0; + } + + return 1; +} + +=begin comment + +a_isa_b serves the same purpose as the isa method from UNIVERSAL, only it is +called as a function rather than a method. + + # Safer than $foo->isa($class), which crashes if $foo isn't blessed. + my $confirm = a_isa_b( $foo, $class ); + +=end comment +=cut + +sub a_isa_b { + my ( $item, $class_name ) = @_; + return 0 unless blessed($item); + return $item->isa($class_name); +} + 1; __END__ @@ -98,7 +145,6 @@ looks_like_number ); use KinoSearch qw( K_DEBUG kdump ); - use KinoSearch::Util::VerifyArgs qw( verify_args a_isa_b kerror ); use KinoSearch::Util::MathUtils qw( ceil ); Two issues deserve special attention. Deleted: trunk/perl/lib/KinoSearch/Util/VerifyArgs.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/VerifyArgs.pm 2008-07-26 02:52:27 UTC (rev 3633) +++ trunk/perl/lib/KinoSearch/Util/VerifyArgs.pm 2008-07-27 17:04:44 UTC (rev 3634) @@ -1,83 +0,0 @@ -use strict; -use warnings; - -package KinoSearch::Util::VerifyArgs; - -use Scalar::Util qw( blessed ); -use Carp; - -use KinoSearch::base qw( Exporter ); - -our @EXPORT_OK = qw( verify_args kerror a_isa_b ); - -my $kerror; - -sub kerror {$kerror} - -# Verify that named parameters exist in a defaults hash. -sub verify_args { - my $defaults = shift; # leave the rest of @_ intact - - # Verify that args came in pairs. - if ( @_ % 2 ) { - my ( $package, $filename, $line ) = caller(1); - $kerror - = "Parameter error: odd number of args at $filename line $line\n"; - return 0; - } - - # Verify keys, ignore values. - while (@_) { - my ( $var, undef ) = ( shift, shift ); - next if exists $defaults->{$var}; - my ( $package, $filename, $line ) = caller(1); - $kerror = "Invalid parameter: '$var' at $filename line $line\n"; - return 0; - } - - return 1; -} - -=begin comment - -a_isa_b serves the same purpose as the isa method from UNIVERSAL, only it is -called as a function rather than a method. - - # Safer than $foo->isa($class), which crashes if $foo isn't blessed. - my $confirm = a_isa_b( $foo, $class ); - -=end comment -=cut - -sub a_isa_b { - my ( $item, $class_name ) = @_; - return 0 unless blessed($item); - return $item->isa($class_name); -} - -1; - -__END__ - -__POD__ - -=begin devdocs - -=head1 PRIVATE CLASS - -KinoSearch::Util::VerifyArgs - Some validation functions. - -=head1 DESCRIPTION - -Provide some utility functions under the general heading of "verification". - -=head1 COPYRIGHT - -Copyright 2005-2008 Marvin Humphrey - -=head1 LICENSE, DISCLAIMER, BUGS etc. - -See L<KinoSearch> version 0.20. - -=end devdocs -=cut Modified: trunk/perl/t/010-verify_args.t =================================================================== --- trunk/perl/t/010-verify_args.t 2008-07-26 02:52:27 UTC (rev 3633) +++ trunk/perl/t/010-verify_args.t 2008-07-27 17:04:44 UTC (rev 3634) @@ -2,7 +2,7 @@ use warnings; use Test::More tests => 5; -use KinoSearch::Util::VerifyArgs qw( kerror verify_args ); +use KinoSearch::Util::ToolSet; my %defaults = ( foo => 'FOO', bar => 'BAR' ); _______________________________________________ kinosearch-commits mailing list kinosearch-commits [at] rectangular http://www.rectangular.com/mailman/listinfo/kinosearch-commits
|