File Coverage

blib/lib/Tweet/ToDelicious/Entity/OnEvent.pm
Criterion Covered Total %
statement 25 25 100.0
branch 1 2 50.0
condition n/a
subroutine 12 12 100.0
pod 0 7 0.0
total 38 46 82.6


line stmt bran cond sub pod time code
1             package Tweet::ToDelicious::Entity::OnEvent;
2              
3 15     15   51938 use v5.14;
  15         48  
  15         639  
4 15     15   78 use warnings;
  15         23  
  15         495  
5 15     15   1888 use parent 'Tweet::ToDelicious::Entity::Interface';
  15         746  
  15         101  
6 15     15   2756 use Class::Accessor::Lite ( new => 1 );
  15         2482  
  15         90  
7              
8 15     15   849 use constant STATUS_FORMAT => 'https://twitter.com/#!/%s/status/%s';
  15         25  
  15         4300  
9              
10 1     1 0 1098 sub screen_name { $_[0]->{source}->{screen_name} }
11 2     2 0 1060 sub text { $_[0]->{target_object}->{text} }
12 1 50   1 0 1050 sub is_favorite { $_[0]->{event} && $_[0]->{event} eq 'favorite' }
13 2     2 0 964 sub tags {qw/favorite via:tweet2delicious/}
14              
15             sub in_reply_to_screen_name {
16 1     1 0 950 $_[0]->{target_object}->{in_reply_to_screen_name};
17             }
18              
19             sub urls {
20 2     2 0 1031 my $self = shift;
21 2         28 sprintf STATUS_FORMAT, $self->{target_object}->{user}->{screen_name},
22             $self->{target_object}->{id_str};
23             }
24              
25             sub posts {
26 1     1 0 916 my $self = shift;
27 1         5 my ($url) = $self->urls;
28             return {
29 1         35 url => $url,
30             tags => join( ',', $self->tags ),
31             description => $self->text,
32             replace => 1,
33             };
34             }
35             1;