Beginning of dzilization
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Hash / get.pm
CommitLineData
44babf1f 1package Moose::Meta::Method::Accessor::Native::Hash::get;
2
3use strict;
4use warnings;
5
6use Scalar::Util qw( looks_like_number );
7
44babf1f 8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
12with 'Moose::Meta::Method::Accessor::Native::Reader' => {
13 -excludes => [
14 qw(
15 _minimum_arguments
16 _inline_check_arguments
17 )
18 ],
19 },
20 'Moose::Meta::Method::Accessor::Native::Hash';
44babf1f 21
22sub _minimum_arguments { 1 }
23
44babf1f 24sub _inline_check_arguments {
25 my $self = shift;
26
53a4677c 27 return (
28 'for (@_) {',
29 $self->_inline_check_var_is_valid_key('$_'),
30 '}',
31 );
44babf1f 32}
33
34sub _return_value {
53a4677c 35 my $self = shift;
36 my ($slot_access) = @_;
44babf1f 37
53a4677c 38 return '@_ > 1 '
39 . '? @{ (' . $slot_access . ') }{@_} '
40 . ': ' . $slot_access . '->{$_[0]}';
44babf1f 41}
42
8b9641b8 43no Moose::Role;
44babf1f 44
451;