File Coverage

blib/lib/MooseX/Types/LogAny.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 18 18 100.0


line stmt bran cond sub pod time code
1             package MooseX::Types::LogAny;
2 1     1   392044 use 5.008;
  1         3  
  1         29  
3 1     1   5 use strict;
  1         1  
  1         27  
4 1     1   4 use warnings;
  1         1  
  1         42  
5              
6             our $VERSION = '0.001002'; # VERSION
7              
8             BEGIN {
9 1     1   394 warnings::warnif('deprecated',
10             'see Log::Any documentation for how to use with Moose');
11             }
12              
13 1         7 use MooseX::Types -declare => [qw(
14             LogAny
15             LogAnyBase
16             LogAnyNull
17             LogAnyProxy
18 1     1   518 )];
  1         31542  
19              
20             class_type LogAnyBase, { class => 'Log::Any::Adapter::Base' };
21             class_type LogAnyNull, { class => 'Log::Any::Adapter::Null' };
22             class_type LogAnyProxy, { class => 'Log::Any::Proxy' };
23             subtype LogAny, as LogAnyBase|LogAnyNull|LogAnyProxy;
24              
25             1;
26              
27             # ABSTRACT: DEPRECATED MooseX::Types for Log::Any
28              
29             __END__
30              
31             =pod
32              
33             =head1 NAME
34              
35             MooseX::Types::LogAny - DEPRECATED MooseX::Types for Log::Any
36              
37             =head1 VERSION
38              
39             version 0.001002
40              
41             =head1 SYNOPSIS
42              
43             use Moose;
44             use Class::Load 0.20 'load_class';
45             use MooseX::Types::LogAny qw( LogAny );
46              
47             has log => (
48             isa => LogAny,
49             is => 'ro',
50             lazy => 1,
51             default => sub { load_class('Log::Any')->get_logger },
52             );
53              
54             =head1 DESCRIPTION
55              
56             This module is no longer recommended, the reason for its existence has been
57             resolved in recent versions of L<Log::Any> see it's documentation for how to
58             use L<Log::Any> with L<Moose>.
59              
60             The motivation behind this modules is that L<Log::Any::Adapter::Null> does not
61             inherit from L<Log::Any::Adapter::Base> which all of the other adapters do.
62             Moose will not allow a type union of undefined types unless they are Moose
63             classes. This module allows you to simply use the L<LogAny> type which has
64             done the union for you.
65              
66             =head1 SUBROUTINES
67              
68             =head2 LogAny
69              
70             Type union of L<LogAnyNull> and L<LogAnyBase>
71              
72             =head2 LogAnyNull
73              
74             Class L<Log::Any::Adapter::Null>
75              
76             =head2 LogAnyBase
77              
78             Class L<Log::Any::Adapter::Base>
79              
80             =head2 LogAnyProxy
81              
82             Class L<Log::Any::Proxy>
83              
84             =head1 SEE ALSO
85              
86             =over
87              
88             =item L<MooseX::Types>
89              
90             =item L<Log::Any>
91              
92             =item L<Log::Any::Adapter>
93              
94             =back
95              
96             =head1 ACKNOWLEDGMENTS
97              
98             Development sponsored by L<HostGator.com|http://hostgator.com>
99              
100             =head1 BUGS
101              
102             Please report any bugs or feature requests on the bugtracker website
103             https://github.com/xenoterracide/moosex-types-logany/issues
104              
105             When submitting a bug or request, please include a test-file or a
106             patch to an existing test-file that illustrates the bug or desired
107             feature.
108              
109             =head1 AUTHOR
110              
111             Caleb Cushing <xenoterracide@gmail.com>
112              
113             =head1 COPYRIGHT AND LICENSE
114              
115             This software is Copyright (c) 2015 by Caleb Cushing.
116              
117             This is free software, licensed under:
118              
119             The Artistic License 2.0 (GPL Compatible)
120              
121             =cut