MooseX::AttributeHelpers::MethodProvider::List 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::AttributeHelpeUserMCoMooseX::AttributeHelpers::MethodProvider::List(3)

NAME
       MooseX::AttributeHelpers::MethodProvider::List

SYNOPSIS
	  package Stuff;
	  use Moose;
	  use MooseX::AttributeHelpers;

	  has 'options' => (
	      metaclass	 => 'Collection::List',
	      is	 => 'rw',
	      isa	 => 'ArrayRef[Str]',
	      default	 => sub { [] },
	      auto_deref => 1,
	      provides	 => {
		  elements => 'all_options',
		  map	   => 'map_options',
		  grep	   => 'filter_options',
		  find	   => 'find_option',
		  first	   => 'first_option',
		  last	   => 'last_option',
		  get	   => 'get_option',
		  join	   => 'join_options',
		  count	   => 'count_options',
		  empty	   => 'do_i_have_options',
		  sort	   => 'sorted_options',
	      }
	  );

	  no Moose;
	  1;

DESCRIPTION
       This is a role which provides the method generators for
       MooseX::AttributeHelpers::Collection::List.

METHODS
       meta

PROVIDED METHODS
       count
	   Returns the number of elements in the list.

	      $stuff = Stuff->new;
	      $stuff->options(["foo", "bar", "baz", "boo"]);

	      my $count = $stuff->count_options;
	      print "$count\n"; # prints 4

       empty
	   If the list is populated, returns true. Otherwise, returns false.

	      $stuff->do_i_have_options ? print "Good boy.\n" : die "No options!\n" ;

       find
	   This method accepts a subroutine reference as its argument. That
	   sub will receive each element of the list in turn. If it returns
	   true for an element, that element will be returned by the "find"
	   method.

	      my $found = $stuff->find_option( sub { $_[0] =~ /^b/ } );
	      print "$found\n"; # prints "bar"

       grep
	   This method accepts a subroutine reference as its argument. This
	   method returns every element for which that subroutine reference
	   returns a true value.

	      my @found = $stuff->filter_options( sub { $_[0] =~ /^b/ } );
	      print "@found\n"; # prints "bar baz boo"

       map This method accepts a subroutine reference as its argument. The
	   subroutine will be executed for each element of the list. It is
	   expected to return a modified version of that element. The return
	   value of the method is a list of the modified options.

	      my @mod_options = $stuff->map_options( sub { $_[0] . "-tag" } );
	      print "@mod_options\n"; # prints "foo-tag bar-tag baz-tag boo-tag"

       sort
	   Sorts and returns the elements of the list.

	   You can provide an optional subroutine reference to sort with (as
	   you can with the core "sort" function). However, instead of using
	   $a and $b, you will need to use $_[0] and $_[1] instead.

	      # ascending ASCIIbetical
	      my @sorted = $stuff->sort_options();

	      # Descending alphabetical order
	      my @sorted_options = $stuff->sort_options( sub { lc $_[1] cmp lc $_[0] } );
	      print "@sorted_options\n"; # prints "foo boo baz bar"

       elements
	   Returns all of the elements of the list

	      my @option = $stuff->all_options;
	      print "@options\n"; # prints "foo bar baz boo"

       join
	   Joins every element of the list using the separator given as
	   argument.

	      my $joined = $stuff->join_options( ':' );
	      print "$joined\n"; # prints "foo:bar:baz:boo"

       get Returns an element of the list by its index.

	      my $option = $stuff->get_option(1);
	      print "$option\n"; # prints "bar"

       first
	   Returns the first element of the list.

	      my $first = $stuff->first_option;
	      print "$first\n"; # prints "foo"

       last
	   Returns the last element of the list.

	      my $last = $stuff->last_option;
	      print "$last\n"; # prints "boo"

BUGS
       All complex software has bugs lurking in it, and this module is no
       exception. If you find a bug please either email me, or add the bug to
       cpan-RT.

AUTHOR
       Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE
       Copyright 2007-2009 by Infinity Interactive, Inc.

       <http://www.iinteractive.com>

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

perl v5.14.1		     MooseX::AttributeHelpers::MethodProvider::List(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