b5a173598c95398af1b42afbcbdf08e40354790c
[catagits/catbook-code.git] / lib / LolCatalyst / Lite / SnippetStore.pm
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;