File Coverage

lib/DataFlow/Role/File.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             package DataFlow::Role::File;
2              
3 1     1   6459 use strict;
  1         2  
  1         44  
4 1     1   6 use warnings;
  1         2  
  1         66  
5              
6             # ABSTRACT: A role that provides a file-handle for processors
7              
8             our $VERSION = '1.121830'; # VERSION
9              
10 1     1   489 use Moose::Role;
  0            
  0            
11             use MooseX::Types::IO 'IO';
12              
13             has 'file' => (
14             'is' => 'rw',
15             'isa' => 'IO',
16             'coerce' => 1,
17             'predicate' => 'has_file',
18             'clearer' => 'clear_file',
19             );
20              
21             has 'nochomp' => (
22             'is' => 'ro',
23             'isa' => 'Bool',
24             'default' => 0,
25             );
26              
27             has 'do_slurp' => (
28             'is' => 'ro',
29             'isa' => 'Bool',
30             'default' => 0,
31             );
32              
33             sub _check_eof {
34             my $self = shift;
35             if ( $self->file->eof ) {
36             $self->file->close;
37             $self->clear_file;
38             }
39             return;
40             }
41              
42             1;
43              
44              
45             __END__
46             =pod
47              
48             =encoding utf-8
49              
50             =head1 NAME
51              
52             DataFlow::Role::File - A role that provides a file-handle for processors
53              
54             =head1 VERSION
55              
56             version 1.121830
57              
58             =head1 SEE ALSO
59              
60             Please see those modules/websites for more information related to this module.
61              
62             =over 4
63              
64             =item *
65              
66             L<DataFlow|DataFlow>
67              
68             =back
69              
70             =head1 AUTHOR
71              
72             Alexei Znamensky <russoz@cpan.org>
73              
74             =head1 COPYRIGHT AND LICENSE
75              
76             This software is copyright (c) 2011 by Alexei Znamensky.
77              
78             This is free software; you can redistribute it and/or modify it under
79             the same terms as the Perl 5 programming language system itself.
80              
81             =head1 BUGS AND LIMITATIONS
82              
83             You can make new bug reports, and view existing ones, through the
84             web interface at L<http://rt.cpan.org>.
85              
86             =head1 DISCLAIMER OF WARRANTY
87              
88             BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
89             FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
90             WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
91             PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
92             EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
93             IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
94             PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
95             SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME
96             THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
97              
98             IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
99             WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
100             REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
101             TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
102             CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
103             SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
104             RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
105             FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
106             SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
107             DAMAGES.
108              
109             =cut
110