make array references coerce to something useful 0.002000
Guillermo Roditi [Sun, 28 Feb 2010 21:46:29 +0000 (16:46 -0500)]
Changes
lib/MooseX/Types/Log/Dispatch.pm
t/types.t

diff --git a/Changes b/Changes
index 2b24810..8e039f2 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,2 +1,4 @@
+0.002000 2010-02-28 17:00EST
+ - Make array references coerce to a list of outputs for Logger
 0.001000 2010-02-26 07:30EST
  - Initial release
\ No newline at end of file
index 7672d9a..700eead 100644 (file)
@@ -5,7 +5,7 @@ use MooseX::Types -declare => [ 'LogLevel', 'Logger' ];
 use MooseX::Types::Moose qw/Str HashRef ArrayRef/;
 use Log::Dispatch;
 
-our $VERSION = '0.001000';
+our $VERSION = '0.002000';
 
 subtype LogLevel,
   as Str,
@@ -20,13 +20,12 @@ coerce Logger,
 
 coerce Logger,
   from ArrayRef,
-  via { Log::Dispatch->new( @$_ ) };
+  via { Log::Dispatch->new( outputs => $_ ) };
 
 1;
 
 __END__;
 
-
 =head1 NAME
 
 MooseX::Types::Log::Dispatch - L<Log::Dispatch> related constraints and coercions for
@@ -55,7 +54,7 @@ Moose
 
     my $obj1 = MyFoos->new(
       event_log_level => 'debug',
-      logger => [ outputs => [ ['Screen', min_level => 'notice' ] ] ]
+      logger => [ ['Screen', min_level => 'notice' ] ]
     );
 
     ## or
@@ -77,8 +76,9 @@ working with Log::Dispatch;
 
 =head2 Logger
 
-Class type for 'Log::Dispatch' optional coercion will turn dereference an
-array or hash reference and pass it to 'new'.
+Class type for 'Log::Dispatch' optional coercion will turn dereference a
+hash reference and pass it to 'new' or treat an array reference as a list
+of C<outputs>.
 
 =head2 LogLevel
 
index 9db39cf..8cf4745 100644 (file)
--- a/t/types.t
+++ b/t/types.t
@@ -40,7 +40,7 @@ my $obj1;
 lives_ok {
   $obj1 = TestMXTypesLogDispatch->new(
     event_log_level => 'debug',
-    logger => [ outputs => [ ['Null', min_level => 'notice' ] ] ]
+    logger => [ ['Null', min_level => 'notice' ] ]
   );
 } 'coerces ok';