MooseX::CascadeClearing man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

MooseX::CascadeClearinUser Contributed Perl DocumentMooseX::CascadeClearing(3)

NAME
       MooseX::CascadeClearing - Cascade clearer actions across attributes

VERSION
       Version 0.02

SYNOPSIS
	   use Moose;
	   use MooseX::CascadeClearing;

	   has master => (
	       is	       => 'rw',
	       isa	       => 'Str',
	       lazy_build      => 1,
	       is_clear_master => 1,
	   );

	   my @opts = (
	       is => 'ro', isa => 'Str', clear_master => 'master', lazy_build => 1,
	   );

	   has sub1 => @opts;
	   has sub2 => @opts;
	   has sub3 => @opts;

	   sub _build_sub1 { shift->master . "1" }
	   sub _build_sub2 { shift->master . "2" }
	   sub _build_sub3 { shift->master . "3" }

	   sub some_sub {
	       # ...

	       # clear master, sub[123] in one fell swoop
	       $self->clear_master;

	   }

DESCRIPTION
       MooseX::CascadeClearing does the necessary metaclass fiddling to allow
       an clearing one attribute to be cascaded through to other attributes as
       well, calling their clearers.

       The intended purpose of this is to assist in situations where the value
       of one attribute is derived from the value of another attribute -- say
       a situation where the secondary value is expensive to derive and is
       thus lazily built.  A change to the primary attribute's value would
       invalidate the secondary value and as such the secondary should be
       cleared.	 While it could be argued that this is trivial to do manually
       for a few attributes, once we consider subclassing and adding in roles
       the ability to "auto-clear", as it were, is a valuable trait.  (Sorry,
       couldn't resist.)

CAVEAT
       We don't yet trigger a cascade clear on a master attribute's value
       being set through a setter/accessor accessor.  This will likely be
       available as an option in the not-too-distant-future.

ATTRIBUTE OPTIONS
       We install an attribute metaclass trait that provides two additional
       atttribute options, as well as wraps the generated clearer method for a
       designated "master" attribute.  By default, use'ing this module causes
       this trait to be installed for all attributes in the package.

       is_clear_master => (0|1)
	   If set to 1, we wrap this attribute's clearer with a sub that looks
	   for other attributes to clear.

       clear_master => Str
	   Marks this attribute as one that should be cleared when the named
	   attribute's clearer is called.  Note that no checking is done to
	   ensure that the named master is actually an attribute in the class.

AUTHOR
       Chris Weyl, "<cweyl at alumni.drew.edu>"

BUGS
       Please report any bugs or feature requests to
       "bug-moosex-cascadeclearing at rt.cpan.org", or through the web
       interface at
       http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-CascadeClearing
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-
       CascadeClearing>.  I will be notified, and then you'llautomatically be
       notified of progress on your bug as I make changes.

SUPPORT
       You can find documentation for this module with the perldoc command.

	   perldoc MooseX::CascadeClearing

       You can also look for information at:

       ·   RT: CPAN's request tracker

	   http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-CascadeClearing
	   <http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-CascadeClearing>

       ·   AnnoCPAN: Annotated CPAN documentation

	   http://annocpan.org/dist/MooseX-CascadeClearing
	   <http://annocpan.org/dist/MooseX-CascadeClearing>

       ·   CPAN Ratings

	   http://cpanratings.perl.org/d/MooseX-CascadeClearing
	   <http://cpanratings.perl.org/d/MooseX-CascadeClearing>

       ·   Search CPAN

	   http://search.cpan.org/dist/MooseX-CascadeClearing/
	   <http://search.cpan.org/dist/MooseX-CascadeClearing/>

ACKNOWLEDGEMENTS
       MooseX::AlwaysCoerce, for inspiring me to do this in a slightly more
       sane fashion than I was previously.

       And of course the Moose team, who have made my life significantly
       easier (and more fun!) since 0.17 :)

COPYRIGHT & LICENSE
       Copyright (c) 2009, Chris Weyl "<cweyl@alumni.drew.edu>".

       This library is free software; you can redistribute it and/or modify it
       under the terms of the GNU Lesser General Public License as published
       by the Free Software Foundation; either version 2.1 of the License, or
       (at your option) any later version.

       This library is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS OR A PARTICULAR PURPOSE.

       See the GNU Lesser General Public License for more details.

       You should have received a copy of the GNU Lesser General Public
       License along with this library; if not, write to the

	   Free Software Foundation, Inc.,
	   59 Temple Place, Suite 330,
	   Boston, MA  02111-1307 USA

perl v5.14.1			  2011-04-04	    MooseX::CascadeClearing(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net