File Coverage

File:lib/Railsish/Record.pm
Coverage:46.3%

linestmtbrancondsubpodtimecode
1package Railsish::Record;
2
1
1
1
9
4
9
use Any::Moose;
3
1
1
1
79
6
10
use DateTime;
4
5
1
1
1
13
3
8
use Railsish::Database;
6
7has created_at => (
8    isa => "DateTime",
9    is => "ro",
10    default => sub { DateTime->now }
11);
12
13{
14    my $db;
15    sub db {
16
1
0
7
        return $db if defined $db;
17
1
15
        $db = Railsish::Database->new;
18    }
19}
20
21sub find {
22
0
0
0
    my ($self, $id) = @_;
23
0
0
    db->lookup($id);
24}
25
26sub find_all {
27
0
0
0
    my ($self, @args) = @_;
28
0
0
    db->search(CLASS => (ref($self) || $self), @args);
29}
30
31sub id {
32
0
0
0
    my ($self) = @_;
33
0
0
    return db->object_to_id($self);
34}
35
36sub save {
37
1
0
5
    my ($self) = @_;
38
1
7
    db->store($self);
39}
40
41sub destroy {
42
0
0
    my ($self) = @_;
43
0
    db->delete($self);
44}
45
46__PACKAGE__->meta->make_immutable;
47