File Coverage

File:lib/WWW/Google/Contacts/Type/Rel.pm
Coverage:54.1%

linestmtbrancondsubpodtimecode
1package WWW::Google::Contacts::Type::Rel;
2
3
2
2
2
15
6
19
use Moose;
4
2
2
2
25
7
30
use MooseX::Types::Moose qw( Str );
5
2
2
2
22
6
18
use WWW::Google::Contacts::Meta::Attribute::Trait::XmlField;
6
7extends 'WWW::Google::Contacts::Type::Base';
8
9
2
2
2
19
7
24
use constant SCHEME => 'http://schemas.google.com/g/2005';
10
11has name => (
12    isa => Str,
13    is => 'ro',
14    lazy_build => 1,
15);
16
17has uri => (
18    isa => Str,
19    is => 'ro',
20    traits => [ 'XmlField' ],
21    xml_key => 'rel',
22    predicate => 'has_uri',
23    lazy_build => 1,
24);
25
26sub _build_name {
27
0
    my $self = shift;
28
0
    die "No URI" unless $self->uri;
29
0
    unless ( $self->uri =~ m{\#(.+)$} ) {
30
0
        die "Can't parse uri: " . $self->uri;
31    }
32
0
    return $1;
33}
34
35sub _build_uri {
36
0
    my $self = shift;
37
0
    return sprintf("%s#%s", SCHEME, $self->name);
38}
39
40sub to_xml_hashref {
41
0
0
    my $self = shift;
42
0
    return $self->uri;
43}
44
45
2
2
2
22
6
17
no Moose;
46__PACKAGE__->meta->make_immutable;
471;