File Coverage

blib/lib/WWW/FastPass.pm
Criterion Covered Total %
statement 26 26 100.0
branch 4 4 100.0
condition n/a
subroutine 8 8 100.0
pod 2 2 100.0
total 40 40 100.0


line stmt bran cond sub pod time code
1             package WWW::FastPass;
2              
3 3     3   91383 use 5.008008;
  3         12  
  3         216  
4 3     3   16 use strict;
  3         5  
  3         120  
5 3     3   13 use warnings;
  3         9  
  3         101  
6              
7 3     3   13613 use Digest::SHA1 qw(sha1_base64);
  3         4684  
  3         266  
8 3     3   3619 use Net::OAuth;
  3         2844  
  3         214  
9              
10             our $VERSION = '0.05';
11              
12 3     3   20 use constant SCRIPT_FRAGMENT => <
  3         6  
  3         1210  
13            
40             EOF
41              
42             sub url
43             {
44 4     4 1 22736 my ($key, $secret, $email, $name, $uid, $is_secure, $extra_fields) = @_;
45              
46 4 100       28 my $request_url =
47             (($is_secure) ? 'https' : 'http').'://getsatisfaction.com/fastpass';
48              
49 1         7 my %extra_params = (
50             name => $name,
51             email => $email,
52             uid => $uid,
53 4 100       27 (defined $extra_fields) ? %{$extra_fields} : ()
54             );
55              
56 4         36 my $request = Net::OAuth->request("consumer")->new(
57             version => '1.0',
58             consumer_key => $key,
59             consumer_secret => $secret,
60             request_url => $request_url,
61             request_method => 'GET',
62             signature_method => 'HMAC-SHA1',
63             timestamp => time(),
64             nonce => sha1_base64(time() . $$ . rand()),
65             callback => 'oob',
66             extra_params => \%extra_params
67             );
68            
69 3         14927 $request->sign();
70              
71 3         70073 return $request->to_url();
72             }
73              
74             sub script
75             {
76 1     1 1 13 return sprintf SCRIPT_FRAGMENT(), url(@_);
77             }
78              
79             1;
80             __END__