All native array methods are being inlined.
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / grep.pm
1 package Moose::Meta::Method::Accessor::Native::Array::grep;
2
3 use strict;
4 use warnings;
5
6 our $VERSION = '1.13';
7 $VERSION = eval $VERSION;
8 our $AUTHORITY = 'cpan:STEVAN';
9
10 use base 'Moose::Meta::Method::Accessor::Native::Array::Reader';
11
12 sub _minimum_arguments { 1 }
13
14 sub _maximum_arguments { 1 }
15
16 sub _inline_check_arguments {
17     return
18         q{die 'Must provide a code reference as an argument' unless ( ref $_[0] || q{} ) eq 'CODE';};
19 }
20
21 sub _return_value {
22     my $self        = shift;
23     my $slot_access = shift;
24
25     return "grep { \$_[0]->() } \@{ $slot_access }";
26 }
27
28 1;