File Coverage

blib/lib/WebService/Eventful/REST.pm
Criterion Covered Total %
statement 6 20 30.0
branch 0 2 0.0
condition n/a
subroutine 2 5 40.0
pod 3 3 100.0
total 11 30 36.6


line stmt bran cond sub pod time code
1             package WebService::Eventful::REST;
2              
3 1     1   1492 use strict;
  1         2  
  1         35  
4 1     1   4 use warnings;
  1         1  
  1         295  
5              
6             =head1 NAME
7              
8             WebService::Eventful::REST - Use the REST flavor of the Eventful API
9              
10             =head1 SYNOPSIS
11              
12             my $evdb = WebService::Eventful->new(app_key => $app_key);
13             my $results = $evdb->call('events/get', { id => 'E0-001-001336058-5' });
14              
15             =head1 DESCRIPTION
16              
17             Parses XML from the Eventful API.
18              
19             =head1 VERSION
20              
21             1.0 - September 2006
22             1.04 - August 2013
23             =cut
24              
25             our $VERSION = 1.04;
26              
27             =head1 METHODS
28              
29             =head2 flavor
30              
31             Return the flavor name.
32              
33             =cut
34              
35 0     0 1   sub flavor { 'rest' }
36              
37             =head2 ctype
38              
39             Return a checkstring for the expected return content type.
40              
41             =cut
42              
43 0     0 1   sub ctype { 'xml' }
44              
45             =head2 parse
46              
47             Parse XML data from the Eventful API using L or
48             L.
49              
50             =cut
51              
52             sub parse {
53 0     0 1   my ($class, $data, $force_array) = @_;
54              
55 0           eval { require XML::Twig };
  0            
56 0 0         if ($@) {
57 0           require XML::Simple;
58              
59 0           my $xs = XML::Simple->new(
60             KeyAttr => [],
61             SuppressEmpty => '',
62             );
63              
64 0           return $xs->XMLin($data, ForceArray => $force_array);
65             }
66             else {
67 0           my $twig = XML::Twig->new;
68 0           $twig->parse($data);
69 0           my $parsed = $twig->simplify(keyattr => [], forcearray => $force_array);
70 0           $twig->purge;
71              
72 0           return $parsed;
73             }
74             }
75              
76             =head1 AUTHORS
77              
78             =over 4
79              
80             =item * Daniel Westermann-Clark Edanieltwc@cpan.orgE
81              
82             =back
83              
84             =head1 LICENSE
85              
86             This library is free software; you can redistribute it and/or modify
87             it under the same terms as Perl itself.
88              
89             =head1 SEE ALSO
90              
91             =over 4
92              
93             =item * L
94              
95             =item * L
96              
97             =item * L
98              
99             =back
100              
101             =cut
102              
103             1;