Commit | Line | Data |
---|---|---|
a90d5246 | 1 | package LolCatalyst::Lite::SnippetStore; |
2 | ||
3 | use Moose; | |
4 | use namespace::clean -except => 'meta'; | |
5 | ||
6 | has '_snippets' => (is => 'ro', default => sub { [] }); | |
7 | ||
8 | sub find { | |
9 | my ($self, $id) = @_; | |
10 | $self->_snippets->[$id - 1]; | |
11 | } | |
12 | ||
13 | sub all { | |
14 | my ($self) = @_; | |
15 | @{$self->_snippets}; | |
16 | } | |
17 | ||
18 | sub create { | |
19 | my ($self, $new) = @_; | |
20 | $new->{id} = @{$self->_snippets} + 1; | |
21 | push(@{$self->_snippets}, $new); | |
22 | $new; | |
23 | } | |
24 | ||
25 | __PACKAGE__->meta->make_immutable; | |
26 | ||
27 | 1; |