Skip to content

Commit

Permalink
Refactored
Browse files Browse the repository at this point in the history
  • Loading branch information
waniji committed Dec 2, 2014
1 parent 47abc05 commit 8c2304a
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions lib/Time/Piece/Iterator.pm
Original file line number Diff line number Diff line change
Expand Up @@ -22,43 +22,35 @@ sub new {
bless {
from => $args{from},
to => $args{to},
now => $args{from},
next => $args{from},
sign => ( $args{from} > $args{to} ? -1 : 1 ),
}, $class;
}

sub next {
my $self = shift;

if ($self->_is_finished) {
return;
}
return if $self->_iterate_is_finished;

my $date = $self->{now};
$self->{now} += ( $self->{sign} * ONE_DAY );
my $date = $self->{next};
$self->{next} += ( $self->{sign} * ONE_DAY );

return $date;
}

sub reset {
my $self = shift;
$self->{now} = $self->{from};
$self->{next} = $self->{from};
}

sub _is_finished {
sub _iterate_is_finished {
my $self = shift;

if( $self->{sign} > 0 ) {
if( $self->{now} > $self->{to} ) {
return 1;
}
return $self->{next} > $self->{to};
} else {
if( $self->{to} > $self->{now} ) {
return 1;
}
return $self->{to} > $self->{next};
}

return 0;
}

1;
Expand Down

0 comments on commit 8c2304a

Please sign in to comment.