Use Ref::Util where appropriate
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Utils.pm
index 847a1c3..9cb0eb6 100644 (file)
@@ -13,6 +13,7 @@ use Class::Load ();
 use namespace::clean;
 use Devel::InnerPackage;
 use Moose::Util;
+use Ref::Util qw(is_plain_hashref);
 
 =head1 NAME
 
@@ -331,8 +332,8 @@ sub merge_hashes {
 
     my %merged = %$lefthash;
     for my $key ( keys %$righthash ) {
-        my $right_ref = ( ref $righthash->{ $key } || '' ) eq 'HASH';
-        my $left_ref  = ( ( exists $lefthash->{ $key } && ref $lefthash->{ $key } ) || '' ) eq 'HASH';
+        my $right_ref = is_plain_hashref( $righthash->{ $key } );
+        my $left_ref  = exists $lefthash->{ $key } && is_plain_hashref( $lefthash->{ $key } );
         if( $right_ref and $left_ref ) {
             $merged{ $key } = merge_hashes(
                 $lefthash->{ $key }, $righthash->{ $key }
@@ -575,13 +576,10 @@ sub inject_component {
     my $_setup_component = sub {
       my $into = shift;
       my $component_package = shift;
-      $into->components->{$component_package} = $into->setup_component( $component_package );
+      $into->components->{$component_package} = $into->delayed_setup_component( $component_package );
     };
 
     $_setup_component->( $into, $component_package );
-    #  for my $inner_component_package ( Devel::InnerPackage::list_packages( $component_package ) ) {
-    #       $_setup_component->( $into, $inner_component_package );
-    #   }
 }
 
 =head1 PSGI Helpers