NAME
    MooseX::GlobRef::Object - Store a Moose object in glob reference

SYNOPSIS
      package My::IO;

      use Moose;

      extends 'MooseX::GlobRef::Object';

      has 'file' => ( is => 'ro', isa => 'Str', required => 1 );

      sub open {
        my $fh = shift;
        open $fh, $fh->file or confess "cannot open";
        return $fh;
      }

      sub getlines {
        my $fh = shift;
        return readline $fh;
      }

      my $io = My::IO->new( file => '/etc/passwd' );
      print "::::::::::::::\n";
      print $io->file, "\n";
      print "::::::::::::::\n";
      $io->open;
      print $io->getlines;

DESCRIPTION
    This meta-policy allows to store Moose object in glob reference of file
    handle. The class attributes will be stored in hash slot associated with
    glob reference. It allows to create a Moose version of IO::Handle.

    The attributes can be accessed directly with following expression:

      my $hashref = \%{*$self};
      print $hashref->{key};

    or shorter:

      print do { \%{*$self} }->{key};

    but the standard accessors should be used instead:

      print $self->key;

    You can use MooseX::GlobRef::Meta::Instance metaclass directly if you
    need more customised configuration.

AUTHOR
    Piotr Roszatycki <dexter@cpan.org>

LICENSE
    Copyright (C) 2007, 2008, 2009 by Piotr Roszatycki <dexter@debian.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

