Finished slides & exercises for section 4 (method modifiers)
[gitmo/moose-presentations.git] / moose-class / exercises / answers / 04-method-modifiers / HasAccount.pm
CommitLineData
26164c8d 1package HasAccount;
2
3use Moose::Role;
4
5has balance => (
6 is => 'rw',
7 default => 100,
8);
9
10sub deposit {
11 my $self = shift;
12 my $amount = shift;
13
14 $self->balance( $self->balance + $amount );
15}
16
17sub withdraw {
18 my $self = shift;
19 my $amount = shift;
20
21 die "Balance cannot be negative"
22 if $self->balance < $amount;
23
24 $self->balance( $self->balance - $amount );
25}
26
27no Moose::Role;
28
291;