File Coverage

blib/lib/Business/CyberSource/Role/Traceable.pm
Criterion Covered Total %
statement 12 14 85.7
branch n/a
condition n/a
subroutine 4 6 66.6
pod 2 2 100.0
total 18 22 81.8


line stmt bran cond sub pod time code
1             package Business::CyberSource::Role::Traceable;
2 12     12   9154 use strict;
  12         26  
  12         539  
3 12     12   63 use warnings;
  12         22  
  12         672  
4              
5             our $VERSION = '0.010006'; # VERSION
6              
7 12     12   59 use Moose::Role;
  12         19  
  12         96  
8 12     12   60637 use MooseX::SetOnce;
  12         15346  
  12         2411  
9              
10             our @CARP_NOT = ( 'Class::MOP::Method::Wrapped', __PACKAGE__ );
11              
12             has http_trace => (
13             isa => 'XML::Compile::SOAP::Trace',
14             predicate => 'has_http_trace',
15             traits => [ 'SetOnce' ],
16             is => 'rw',
17             writer => '_http_trace',
18             );
19              
20 0     0 1   sub trace { return $_[0]->http_trace } ## no critic ( RequireArgUnpacking RequireFinalReturn )
21 0     0 1   sub has_trace { return $_[0]->has_http_trace } ## no critic ( RequireArgUnpacking RequireFinalReturn )
22              
23             before [qw( trace has_trace ) ] => sub {
24             my $self = shift;
25             warnings::warnif('deprecated', # this is due to Moose::Exception conflict
26             '`trace` is deprecated call `http_trace` instead'
27             ) unless $self->isa('Moose::Exception');
28             };
29              
30             1;
31             # ABSTRACT: provides http_trace
32              
33             __END__
34              
35             =pod
36              
37             =encoding UTF-8
38              
39             =head1 NAME
40              
41             Business::CyberSource::Role::Traceable - provides http_trace
42              
43             =head1 VERSION
44              
45             version 0.010006
46              
47             =head1 METHODS
48              
49             =head2 trace
50              
51             aliased to L</http_trace>
52              
53             =head2 has_trace
54              
55             aliased to L</has_http_trace>
56              
57             =head1 ATTRIBUTES
58              
59             =head2 http_trace
60              
61             A L<XML::Compile::SOAP::Trace> object which is populated only after the object
62             has been submitted to CyberSource by a L<Business::CyberSource::Client>.
63              
64             =head1 BUGS
65              
66             Please report any bugs or feature requests on the bugtracker website
67             https://github.com/xenoterracide/business-cybersource/issues
68              
69             When submitting a bug or request, please include a test-file or a
70             patch to an existing test-file that illustrates the bug or desired
71             feature.
72              
73             =head1 AUTHOR
74              
75             Caleb Cushing <xenoterracide@gmail.com>
76              
77             =head1 COPYRIGHT AND LICENSE
78              
79             This software is Copyright (c) 2015 by Caleb Cushing <xenoterracide@gmail.com>.
80              
81             This is free software, licensed under:
82              
83             The Artistic License 2.0 (GPL Compatible)
84              
85             =cut