From: Guillermo Roditi Date: Sun, 28 Feb 2010 21:46:29 +0000 (-0500) Subject: make array references coerce to something useful X-Git-Tag: 0.002000^0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fd81f0efcda1c556b1deebfb1b14fbf06b0e3a3c;hp=c3a00eee526266dbce5b8f9a8b541f85993b6469;p=gitmo%2FMooseX-Types-Log-Dispatch.git make array references coerce to something useful --- diff --git a/Changes b/Changes index 2b24810..8e039f2 100644 --- 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 diff --git a/lib/MooseX/Types/Log/Dispatch.pm b/lib/MooseX/Types/Log/Dispatch.pm index 7672d9a..700eead 100644 --- a/lib/MooseX/Types/Log/Dispatch.pm +++ b/lib/MooseX/Types/Log/Dispatch.pm @@ -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 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. =head2 LogLevel diff --git a/t/types.t b/t/types.t index 9db39cf..8cf4745 100644 --- 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';