bump copyright year to 2010
[gitmo/Moose.git] / lib / Moose / Meta / Attribute / Native / Trait / Code.pm
index 95b549a..c4b55ff 100644 (file)
@@ -1,21 +1,15 @@
 package Moose::Meta::Attribute::Native::Trait::Code;
 use Moose::Role;
-use Moose::Meta::Attribute::Native::MethodProvider::Code;
 
-our $VERSION   = '0.87';
+our $VERSION   = '1.20';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
-with 'Moose::Meta::Attribute::Native::Trait';
+use Moose::Meta::Method::Accessor::Native::Code::execute;
+use Moose::Meta::Method::Accessor::Native::Code::execute_method;
 
-has method_provider => (
-    is        => 'ro',
-    isa       => 'ClassName',
-    predicate => 'has_method_provider',
-    default   => 'Moose::Meta::Attribute::Native::MethodProvider::Code',
-);
+with 'Moose::Meta::Attribute::Native::Trait';
 
-sub _default_is { 'ro' }
 sub _helper_type { 'CodeRef' }
 
 no Moose::Role;
@@ -26,7 +20,7 @@ no Moose::Role;
 
 =head1 NAME
 
-Moose::Meta::Attribute::Native::Trait::Code
+Moose::Meta::Attribute::Native::Trait::Code - Helper trait for Code attributes
 
 =head1 SYNOPSIS
 
@@ -34,38 +28,46 @@ Moose::Meta::Attribute::Native::Trait::Code
   use Moose;
 
   has 'callback' => (
-      traits    => ['Code'],
-      is        => 'ro',
-      isa       => 'CodeRef',
-      default   => sub { sub { print "called" } },
-      handles   => {
+      traits  => ['Code'],
+      is      => 'ro',
+      isa     => 'CodeRef',
+      default => sub {
+          sub { print "called" }
+      },
+      handles => {
           call => 'execute',
       },
   );
 
   my $foo = Foo->new;
-  $foo->call; # prints "called"
-
+  $foo->call;    # prints "called"
 
 =head1 DESCRIPTION
 
-This provides operations on coderef attributes.
+This trait provides native delegation methods for code references.
+
+=head1 DEFAULT TYPE
+
+If you don't provide an C<isa> value for your attribute, it will default to
+C<CodeRef>.
 
 =head1 PROVIDED METHODS
 
 =over 4
 
-=item B<execute(@args)>
+=item * B<execute(@args)>
 
 Calls the coderef with the given args.
 
+=item * B<execute_method(@args)>
+
+Calls the coderef with the the instance as invocant and given args.
+
 =back
 
 =head1 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.
+See L<Moose/BUGS> for details on reporting bugs.
 
 =head1 AUTHOR
 
@@ -73,7 +75,7 @@ to cpan-RT.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2007-2009 by Infinity Interactive, Inc.
+Copyright 2007-2010 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>