File Coverage

blib/lib/PayProp/API/Public/Client/Role/Attribute/Domain.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package PayProp::API::Public::Client::Role::Attribute::Domain;
2              
3 30     30   457507 use strict;
  30         82  
  30         1233  
4 30     30   170 use warnings;
  30         73  
  30         1894  
5              
6 30     30   727 use Mouse::Role;
  30         1823  
  30         323  
7              
8              
9             has domain => (
10             is => 'ro',
11             isa => 'Str',
12             required => 1,
13             );
14              
15             has scheme => (
16             is => 'ro',
17             isa => 'Str',
18             lazy => 1,
19             default => sub { 'https' },
20             );
21              
22             has abs_domain => (
23             is => 'ro',
24             isa => 'Str',
25             lazy => 1,
26             default => sub {
27             my ( $self ) = @_;
28              
29             my $scheme = $self->scheme;
30             my $domain = $self->domain;
31              
32             $scheme =~ s{://}{}g;
33             $domain =~ s{/*$}{}g;
34             $domain =~ s{^https?://}{}g;
35              
36             my $abs_domain = $scheme . '://' . $domain;
37             chomp $abs_domain;
38              
39             return $abs_domain;
40             },
41             );
42              
43             1;