simple in-memory snippet store
[catagits/catbook-code.git] / lib / LolCatalyst / Lite / SnippetStore.pm
CommitLineData
a90d5246 1package LolCatalyst::Lite::SnippetStore;
2
3use Moose;
4use namespace::clean -except => 'meta';
5
6has '_snippets' => (is => 'ro', default => sub { [] });
7
8sub find {
9 my ($self, $id) = @_;
10 $self->_snippets->[$id - 1];
11}
12
13sub all {
14 my ($self) = @_;
15 @{$self->_snippets};
16}
17
18sub 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
271;