File Coverage

blib/lib/Atomik/Entry.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 6 8 75.0


line stmt bran cond sub pod time code
1             # $Id: /mirror/coderepos/lang/perl/Atomik/trunk/lib/Atomik/Entry.pm 68156 2008-08-10T23:46:14.974605Z daisuke $
2              
3             package Atomik::Entry;
4 1     1   8 use Moose;
  1         2  
  1         8  
5 1     1   7550 use MooseX::DOM;
  0            
  0            
6             use Atomik;
7             use Atomik::Link;
8             use Atomik::Author;
9             use Atomik::Content;
10              
11             extends 'Atomik::Element';
12              
13             has_dom_root 'entry';
14             has_dom_child 'id';
15             has_dom_child 'title';
16             has_dom_child 'created';
17             has_dom_child 'summary';
18             has_dom_child 'content' => (
19             filter => sub {
20             my $self = shift;
21             my @ret = map { Atomik::Content->new(node => $_) } @_;
22             wantarray ? @ret : $ret[0];
23             }
24             );
25              
26             has_dom_child 'author' => (
27             filter => sub {
28             my $self = shift;
29             my @ret = map { Atomik::Author->new(node => $_) } @_;
30             wantarray ? @ret : $ret[0];
31             }
32             );
33             has_dom_children 'links' => (
34             tag => 'link',
35             filter => sub {
36             my $self = shift;
37             return map { Atomik::Link->new(node => $_) } @_;
38             }
39             );
40              
41             has_dom_child '__modified', tag => 'modified';
42             has_dom_child '__updated', tag => 'updated';
43              
44             no Moose;
45             no MooseX::DOM;
46              
47             *modified = \&updated;
48             sub updated {
49             my $self = shift;
50             my $method;
51             if ($self->version eq '0.3') {
52             $method = '__modified';
53             } else {
54             $method = '__updated';
55             }
56              
57             return $self->$method(@_);
58             }
59              
60             1;