File Coverage

blib/lib/Dist/Inkt/Role/WriteDOAP.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1             package Dist::Inkt::Role::WriteDOAP;
2              
3             our $AUTHORITY = 'cpan:TOBYINK';
4             our $VERSION = '0.021';
5              
6 1     1   1903 use Moose::Role;
  0            
  0            
7             use RDF::TrineX::Functions 'serialize';
8             use namespace::autoclean;
9              
10             with 'Dist::Inkt::Role::RDFModel';
11              
12             after BUILD => sub {
13             my $self = shift;
14             unshift @{ $self->targets }, 'DOAP';
15             };
16              
17             sub Build_DOAP
18             {
19             my $self = shift;
20             my $file = $self->targetfile('doap.ttl');
21             $file->exists and return $self->log('Skipping %s; it already exists', $file);
22             $self->log('Writing %s', $file);
23            
24             $self->rights_for_generated_files->{'doap.ttl'} ||= [
25             $self->_inherited_rights
26             ] if $self->DOES('Dist::Inkt::Role::WriteCOPYRIGHT');
27            
28             my $serializer = eval {
29             require RDF::TrineX::Serializer::MockTurtleSoup;
30             'RDF::TrineX::Serializer::MockTurtleSoup'->new;
31             } || 'RDF::Trine::Serializer::Turtle'->new;
32            
33             serialize(
34             $self->model,
35             to => $file->openw,
36             using => $serializer,
37             );
38             }
39              
40             1;