Beginning of dzilization
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / String / chop.pm
CommitLineData
e7724627 1package Moose::Meta::Method::Accessor::Native::String::chop;
2
3use strict;
4use warnings;
5
e7724627 6our $AUTHORITY = 'cpan:STEVAN';
7
8b9641b8 8use Moose::Role;
9
10with 'Moose::Meta::Method::Accessor::Native::Writer' => {
11 -excludes => [
12 qw(
13 _maximum_arguments
a486d5ad 14 _inline_optimized_set_new_value
7f5ec80d 15 _return_value
8b9641b8 16 )
17 ]
18};
e7724627 19
e7724627 20sub _maximum_arguments { 0 }
21
22sub _potential_value {
53a4677c 23 my $self = shift;
24 my ($slot_access) = @_;
25
26 return '(do { '
27 . 'my $val = ' . $slot_access . '; '
28 . '@return = chop $val; '
29 . '$val; '
30 . '})';
e7724627 31}
32
a486d5ad 33sub _inline_optimized_set_new_value {
53a4677c 34 my $self = shift;
35 my ($inv, $new, $slot_access) = @_;
e7724627 36
a486d5ad 37 return '@return = chop ' . $slot_access . ';';
7f5ec80d 38}
39
40sub _return_value {
53a4677c 41 my $self = shift;
42 my ($slot_access) = @_;
7f5ec80d 43
44 return '$return[0]';
e7724627 45}
46
8b9641b8 47no Moose::Role;
48
e7724627 491;