| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package WebService::Braintree::ClientTokenGateway; | 
| 2 |  |  |  |  |  |  | $WebService::Braintree::ClientTokenGateway::VERSION = '0.93'; | 
| 3 | 1 |  |  | 1 |  | 10 | use Moose; | 
|  | 1 |  |  |  |  | 4 |  | 
|  | 1 |  |  |  |  | 11 |  | 
| 4 |  |  |  |  |  |  | with 'WebService::Braintree::Role::MakeRequest'; | 
| 5 |  |  |  |  |  |  |  | 
| 6 | 1 |  |  | 1 |  | 10067 | use Carp qw(confess); | 
|  | 1 |  |  |  |  | 6 |  | 
|  | 1 |  |  |  |  | 110 |  | 
| 7 | 1 |  |  | 1 |  | 11 | use WebService::Braintree::Validations qw(verify_params client_token_signature_with_customer_id client_token_signature_without_customer_id); | 
|  | 1 |  |  |  |  | 4 |  | 
|  | 1 |  |  |  |  | 85 |  | 
| 8 | 1 |  |  | 1 |  | 9 | use WebService::Braintree::Result; | 
|  | 1 |  |  |  |  | 5 |  | 
|  | 1 |  |  |  |  | 44 |  | 
| 9 | 1 |  |  | 1 |  | 672 | use URI; | 
|  | 1 |  |  |  |  | 4013 |  | 
|  | 1 |  |  |  |  | 309 |  | 
| 10 |  |  |  |  |  |  |  | 
| 11 |  |  |  |  |  |  | has 'gateway' => (is => 'ro'); | 
| 12 |  |  |  |  |  |  |  | 
| 13 |  |  |  |  |  |  | sub generate { | 
| 14 | 0 |  |  | 0 | 0 |  | my ($self, $params) = @_; | 
| 15 | 0 | 0 |  |  |  |  | if ($params) { | 
| 16 | 0 | 0 |  |  |  |  | confess "ArgumentError" unless $self->_conditionally_verify_params($params); | 
| 17 | 0 |  |  |  |  |  | $params = {client_token => $params}; | 
| 18 |  |  |  |  |  |  | } | 
| 19 | 0 |  |  |  |  |  | my $result = $self->_make_request("/client_token", 'post', $params); | 
| 20 | 0 |  |  |  |  |  | $result->{"response"}->{"client_token"}->{"value"}; | 
| 21 |  |  |  |  |  |  | } | 
| 22 |  |  |  |  |  |  |  | 
| 23 |  |  |  |  |  |  |  | 
| 24 |  |  |  |  |  |  | sub _conditionally_verify_params { | 
| 25 | 0 |  |  | 0 |  |  | my ($self, $params) = @_; | 
| 26 |  |  |  |  |  |  |  | 
| 27 | 0 | 0 |  |  |  |  | if (exists $params->{"customer_id"}) { | 
| 28 | 0 |  |  |  |  |  | verify_params($params, client_token_signature_with_customer_id); | 
| 29 |  |  |  |  |  |  | } else { | 
| 30 | 0 |  |  |  |  |  | verify_params($params, client_token_signature_without_customer_id); | 
| 31 |  |  |  |  |  |  | }; | 
| 32 |  |  |  |  |  |  | } | 
| 33 |  |  |  |  |  |  |  | 
| 34 |  |  |  |  |  |  | __PACKAGE__->meta->make_immutable; | 
| 35 |  |  |  |  |  |  | 1; | 
| 36 |  |  |  |  |  |  |  |