File Coverage

blib/lib/Mojolicious/Plugin/LinkEmbedder/Link/Video/Ted.pm
Criterion Covered Total %
statement 3 13 23.0
branch 0 4 0.0
condition 0 4 0.0
subroutine 1 4 25.0
pod 3 3 100.0
total 7 28 25.0


line stmt bran cond sub pod time code
1             package Mojolicious::Plugin::LinkEmbedder::Link::Video::Ted;
2              
3             =head1 NAME
4              
5             Mojolicious::Plugin::LinkEmbedder::Link::Video::Ted - ted.com video
6              
7             =head1 DESCRIPTION
8              
9             This class inherit from L.
10              
11             =cut
12              
13 1     1   487 use Mojo::Base 'Mojolicious::Plugin::LinkEmbedder::Link::Text::HTML';
  1         2  
  1         4  
14              
15             =head1 ATTRIBUTES
16              
17             =head2 media_id
18              
19             Returns the the digit from the url L.
20              
21             =head2 provider_name
22              
23             =cut
24              
25             has media_id => sub {
26             my $self = shift;
27             my $media_id = $self->url->path->[-1];
28              
29             $media_id =~ s!\.html$!!;
30             $media_id;
31             };
32              
33 0     0 1   sub provider_name {'Ted'}
34              
35             =head1 METHODS
36              
37             =head2 learn
38              
39             =cut
40              
41             sub learn {
42 0     0 1   my ($self, $c, $cb) = @_;
43              
44 0 0         if ($self->media_id) {
45 0           $self->$cb;
46             }
47             else {
48 0           $self->SUPER::learn($c, $cb);
49             }
50              
51 0           return $self;
52             }
53              
54             =head2 to_embed
55              
56             Returns the HTML code for an iframe embedding this movie.
57              
58             =cut
59              
60             sub to_embed {
61 0     0 1   my $self = shift;
62 0 0         my $media_id = $self->media_id or return $self->SUPER::to_embed;
63 0           my %args = @_;
64              
65 0   0       $self->_iframe(
      0        
66             src => "//embed.ted.com/talks/$media_id.html",
67             class => 'link-embedder video-ted',
68             width => $args{width} || 560,
69             height => $args{height} || 315
70             );
71             }
72              
73             =head1 AUTHOR
74              
75             Marcus Ramberg
76              
77             =cut
78              
79             1;