diff options
author | franck cuny <franck@lumberjaph.net> | 2010-04-29 14:38:23 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2010-04-29 14:38:23 +0200 |
commit | 14d0bf15ab9cbc06fdc12ce11e473a35ab9372f3 (patch) | |
tree | af85fae6a2ea168a35a3783f7b53e5aaac7cbff5 /lib/MooseX | |
parent | uppercase, no need for ucfirst (diff) | |
download | moosex-privacy-14d0bf15ab9cbc06fdc12ce11e473a35ab9372f3.tar.gz |
add count to attributes and methods
Diffstat (limited to 'lib/MooseX')
-rw-r--r-- | lib/MooseX/Privacy/Meta/Class/Role.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/MooseX/Privacy/Meta/Class/Role.pm b/lib/MooseX/Privacy/Meta/Class/Role.pm index cb7e03a..7357c2e 100644 --- a/lib/MooseX/Privacy/Meta/Class/Role.pm +++ b/lib/MooseX/Privacy/Meta/Class/Role.pm @@ -18,7 +18,10 @@ role { my $local_attributes = "local_" . $name . "_attributes"; my $push_method = "_push_" . $name . "_method"; my $push_attribute = "_push_" . $name . "_attribute"; - my $meta_method = "add_" . $name . "_method"; + my $count_methods = "_count_" . $name . "_methods"; + my $count_attributes = "_count_" . $name . "_attributes"; + + my $meta_method = "add_" . $name . "_method"; has $local_methods => ( traits => ['Array'], @@ -27,7 +30,7 @@ role { required => 1, default => sub { [] }, auto_deref => 1, - handles => { $push_method => 'push' }, + handles => { $push_method => 'push', $count_methods => 'count' }, ); has $local_attributes => ( @@ -37,7 +40,8 @@ role { required => 1, default => sub { [] }, auto_deref => 1, - handles => { $push_attribute => 'push' }, + handles => + { $push_attribute => 'push', $count_attributes => 'count' }, ); method $meta_method => sub { |