Bump version to 1.9900 for new version numbering scheme
[gitmo/Moose.git] / lib / Moose / Meta / Role / Method / Required.pm
1
2 package Moose::Meta::Role::Method::Required;
3
4 use strict;
5 use warnings;
6 use metaclass;
7
8 use overload '""'     => sub { shift->name },   # stringify to method name
9              fallback => 1;
10
11 use base qw(Class::MOP::Object);
12
13 our $VERSION   = '1.9900';
14 $VERSION = eval $VERSION;
15 our $AUTHORITY = 'cpan:STEVAN';
16
17 # This is not a Moose::Meta::Role::Method because it has no implementation, it
18 # is just a name
19
20 __PACKAGE__->meta->add_attribute('name' => (
21     reader   => 'name',
22     required => 1,
23 ));
24
25 sub new { shift->_new(@_) }
26
27 1;
28
29 __END__
30
31 =pod
32
33 =head1 NAME
34
35 Moose::Meta::Role::Method::Required - A Moose metaclass for required methods in Roles
36
37 =head1 DESCRIPTION
38
39 =head1 INHERITANCE
40
41 C<Moose::Meta::Role::Method::Required> is a subclass of L<Class::MOP::Object>.
42 It is B<not> a subclass of C<Moose::Meta::Role::Method> since it does not
43 provide an implementation of the method.
44
45 =head1 METHODS
46
47 =over 4
48
49 =item B<< Moose::Meta::Role::Method::Required->new(%options) >>
50
51 This creates a new type constraint based on the provided C<%options>:
52
53 =over 8
54
55 =item * name
56
57 The method name. This is required.
58
59 =back
60
61 =item B<< $method->name >>
62
63 Returns the required method's name, as provided to the constructor.
64
65 =back
66
67 =head1 BUGS
68
69 See L<Moose/BUGS> for details on reporting bugs.
70
71 =head1 AUTHOR
72
73 Stevan Little E<lt>stevan@iinteractive.comE<gt>
74
75 =head1 COPYRIGHT AND LICENSE
76
77 Copyright 2006-2010 by Infinity Interactive, Inc.
78
79 L<http://www.iinteractive.com>
80
81 This library is free software; you can redistribute it and/or modify
82 it under the same terms as Perl itself.
83
84 =cut