[Jifty-commit] jifty branch, master, updated. 8a6f78aa1692b2d8599fc83c2fbda25b9e535e2f
Jifty commits
jifty-commit at lists.jifty.org
Tue Mar 30 13:52:04 EDT 2010
The branch, master has been updated
via 8a6f78aa1692b2d8599fc83c2fbda25b9e535e2f (commit)
from ada1d6690087e0c5f25b0376cfad359eaacde6ec (commit)
Summary of changes:
lib/Jifty/Param/Schema.pm | 28 +++-------------------------
1 files changed, 3 insertions(+), 25 deletions(-)
- Log -----------------------------------------------------------------
commit 8a6f78aa1692b2d8599fc83c2fbda25b9e535e2f
Author: sunnavy <sunnavy at bestpractical.com>
Date: Wed Mar 31 01:50:26 2010 +0800
use oo interface of Hash::Merge in Jifty::Param::Schema
diff --git a/lib/Jifty/Param/Schema.pm b/lib/Jifty/Param/Schema.pm
index dfab7ae..2c972ea 100644
--- a/lib/Jifty/Param/Schema.pm
+++ b/lib/Jifty/Param/Schema.pm
@@ -151,23 +151,6 @@ sub schema (&) {
}
use Hash::Merge ();
-{
-# XXX to eliminate the warning:
-# Can't call method "isa" on unblessed reference
-# see https://rt.cpan.org/Public/Bug/Display.html?id=55978
- no warnings 'redefine';
- *Hash::Merge::_get_obj = sub {
- my $type = ref $_[0];
- if ( $type
- && $type !~ /^(?:SCALAR|ARRAY|HASH)$/
- && ( $type eq 'Hash::Merge' || $_[0]->isa('Hash::Merge') ) )
- {
- return shift;
- }
- return $Hash::Merge::context;
- };
-}
-
no warnings 'uninitialized';
use constant MERGE_PARAM_BEHAVIOUR => {
SCALAR => {
@@ -181,13 +164,14 @@ use constant MERGE_PARAM_BEHAVIOUR => {
HASH => {
SCALAR => sub { length($_[1]) ? $_[1] : $_[0] },
ARRAY => sub { [ @{$_[1]} ] },
- HASH => sub { Hash::Merge::_merge_hashes( $_[0], $_[1] ) } }
+ HASH => sub { Hash::Merge::_merge_hashes( $Hash::Merge::context, $_[0], $_[1] ) } }
};
my $prev_behaviour = Hash::Merge::get_behavior();
# the behavior name must be upper-case
Hash::Merge::specify_behavior( MERGE_PARAM_BEHAVIOUR, 'MERGE_PARAMS' );
Hash::Merge::set_behavior( $prev_behaviour );
+my $merge = Hash::Merge->new('MERGE_PARAMS');
=head2 merge_params HASHREF HASHREF
@@ -220,13 +204,7 @@ sub merge_params {
}
push @types, \@t;
}
- my $prev_behaviour = Hash::Merge::get_behavior();
- my $prev_clone_behaviour = Hash::Merge::get_clone_behavior();
- Hash::Merge::set_clone_behavior(0);
- Hash::Merge::set_behavior( 'MERGE_PARAMS' );
- my $rv = Hash::Merge::merge(@_);
- Hash::Merge::set_behavior( $prev_behaviour );
- Hash::Merge::set_clone_behavior($prev_clone_behaviour);
+ my $rv = $merge->merge(@_);
for my $m (@_) {
my @t = @{shift @types};
for (keys %{$m}) {
-----------------------------------------------------------------------
More information about the Jifty-commit
mailing list