ec0683dd866a6fb1c74896615e662ade3506541f
[engit/Iron-Munger.git] / lib / IronMunger / Monger.pm
1 use MooseX::Declare;
2
3 class IronMunger::Monger {
4
5   use MooseX::Types::Moose qw(ArrayRef);
6   use IronMunger::Calculate qw(:all);
7   use aliased 'IronMunger::Post';
8   use signatures;
9
10   has posts => (
11     is => 'ro', isa => ArrayRef[Post], required => 1,
12     default => sub { [] },
13   );
14
15   has post_count => (
16     is => 'ro', lazy => 1,
17     default => sub ($self) { successful_sequential_posts(@{$self->posts}) },
18   );
19
20   has days_left => (
21     is => 'ro', lazy => 1,
22     default => sub ($self) { days_remaining_to_post(@{$self->posts}) },
23   );
24 }
25
26 1;