File Coverage

blib/lib/EVDB/API/YAML.pm
Criterion Covered Total %
statement 10 19 52.6
branch 0 4 0.0
condition n/a
subroutine 4 6 66.6
pod 3 3 100.0
total 17 32 53.1


line stmt bran cond sub pod time code
1             package EVDB::API::YAML;
2              
3 2     2   1578 use strict;
  2         4  
  2         56  
4 2     2   8 use warnings;
  2         4  
  2         38  
5 2     2   10 use Carp;
  2         3  
  2         422  
6              
7             =head1 NAME
8              
9             EVDB::API::YAML - Use the YAML flavor of the Eventful API
10              
11             =head1 SYNOPSIS
12              
13             my $evdb = EVDB::API->new(app_key => $app_key, flavor => 'yaml');
14             my $results = $evdb->call('events/get', { id => 'E0-001-001336058-5' });
15              
16             =head1 DESCRIPTION
17              
18             Parses YAML from the Eventful API.
19              
20             =head1 METHODS
21              
22             =head2 flavor
23              
24             Return the flavor name.
25              
26             =cut
27              
28 1     1 1 2 sub flavor { 'yaml' }
29              
30             =head2 ctype
31              
32             Return a checkstring for the expected return content type.
33              
34             =cut
35              
36 0     0 1   sub ctype { 'yaml' }
37              
38             =head2 parse
39              
40             Parse YAML data from the Eventful API using L or L.
41              
42             =cut
43              
44             sub parse {
45 0     0 1   my ($class, $data, $force_array) = @_;
46              
47 0 0         carp "Forcing arrays is not supported for API flavor " . $class->flavor
48             if $force_array;
49              
50 0           eval { require YAML::Syck };
  0            
51 0 0         if ($@) {
52 0           require YAML;
53 0           return YAML::Load($data);
54             }
55             else {
56 0           return YAML::Syck::Load($data);
57             }
58             }
59              
60             =head1 AUTHORS
61              
62             =over 4
63              
64             =item * Daniel Westermann-Clark Edanieltwc@cpan.orgE
65              
66             =back
67              
68             =head1 LICENSE
69              
70             This library is free software; you can redistribute it and/or modify
71             it under the same terms as Perl itself.
72              
73             =head1 SEE ALSO
74              
75             =over 4
76              
77             =item * L
78              
79             =item * L
80              
81             =item * L
82              
83             =back
84              
85             =cut
86              
87             1;