MooseX::GlobRef::Role::Object.3pm

Langue: en

Version: 2010-05-13 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

MooseX::GlobRef::Role::Object - An object role for MooseX::GlobRef

SYNOPSIS

   Moose::Util::MetaRole::apply_base_class_roles(
       for_class => $caller,
       roles => [ 'MooseX::GlobRef::Role::Object' ],
   );
 
   package My::IO::File;
 
   use Moose;
 
   extends 'Moose::Object', 'IO::File';
   with 'MooseX::GlobRef::Role::Object';
 
   has 'file' => ( is => 'ro', isa => 'Str', required => 1 );
   has 'mode' => ( is => 'ro', isa => 'Str', default => 'r' );
 
   sub BUILD {
       my ($fh) = @_;
       $fh->open( $fh->file, $fh->mode );
   };
 
   sub slurp {
     my ($fh) = @_;
     local $/ = undef;
     return $fh->getline;
   };
 
   my $io = My::IO::File->new( file => '/etc/passwd' );
   print "::::::::::::::\n";
   print $io->file, "\n";
   print "::::::::::::::\n";
   print $io->slurp;
 
 

DESCRIPTION

This is a role for Moose::Object which is applied by MooseX::GlobRef. It allows to store Moose object in glob reference of file handle.

The MooseX::GlobRef package should be used instead for Moose classes but the "MooseX::GlobRef::Role::Object" can be helpful if you want to extend non-Moose classes like IO::File or File::Temp.

METHODS

<<around>> dump( maxdepth : Int = 1 ) : Array|Str
Dumps the object itself and also a hash slot of glob reference of this object. It returns an array or string depended on context.

See Moose::Object.

SEE ALSO

MooseX::GlobRef, Moose::Object, Moose::Role.

AUTHOR

Piotr Roszatycki <dexter@cpan.org>

LICENSE

Copyright (C) 2007, 2008, 2009 by Piotr Roszatycki <dexter@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See <http://www.perl.com/perl/misc/Artistic.html>