Commit | Line | Data |
---|---|---|
44babf1f | 1 | package Moose::Meta::Method::Accessor::Native::Hash::get; |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
6 | use Scalar::Util qw( looks_like_number ); | |
7 | ||
44babf1f | 8 | our $AUTHORITY = 'cpan:STEVAN'; |
9 | ||
8b9641b8 | 10 | use Moose::Role; |
11 | ||
12 | with '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 | |
22 | sub _minimum_arguments { 1 } | |
23 | ||
44babf1f | 24 | sub _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 | ||
34 | sub _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 | 43 | no Moose::Role; |
44babf1f | 44 | |
45 | 1; |