File Coverage

blib/lib/RDF/DOAP/Types.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 22 22 100.0


line stmt bran cond sub pod time code
1              
2             use strict;
3 2     2   12 use warnings;
  2         3  
  2         50  
4 2     2   8  
  2         4  
  2         118  
5             our $AUTHORITY = 'cpan:TOBYINK';
6             our $VERSION = '0.105';
7              
8             use Type::Utils -all;
9 2     2   935 use Type::Library -base;
  2         13452  
  2         18  
10 2     2   3864 use Types::TypeTiny qw(StringLike);
  2         4  
  2         10  
11 2     2   363  
  2         4  
  2         12  
12             BEGIN { extends 'Types::Standard' };
13 2     2   545  
14             declare 'Identifier',
15             as InstanceOf["RDF::Trine::Node"];
16              
17             coerce 'Identifier',
18             from Str, q{ /^_:(.+)$/ ? 'RDF::Trine::Node::Blank'->new($1) : 'RDF::Trine::Node::Resource'->new($_) },
19             from HasMethods['rdf_about'], q{ $_->rdf_about },
20             from StringLike, q{ /^_:(.+)$/ ? 'RDF::Trine::Node::Blank'->new("$1") : 'RDF::Trine::Node::Resource'->new("$_") };
21              
22             declare 'String',
23             as Str;
24              
25             coerce 'String',
26             from InstanceOf["RDF::Trine::Node::Literal"], q{ $_->literal_value },
27             from StringLike, q{"$_"};
28              
29             class_type 'Model', { class => 'RDF::Trine::Model' };
30              
31             for my $class (qw/ Project Version Change ChangeSet Person Issue Repository /)
32             {
33             declare $class,
34             as InstanceOf[ "RDF::DOAP::$class" ];
35             coerce $class,
36             from 'Identifier', qq{ "RDF::DOAP::$class"->rdf_load(\$_) };
37             }
38              
39             __PACKAGE__->make_immutable;
40              
41             1;