File Coverage

blib/lib/Pod/Weaver/PluginBundle/Author/CSSON.pm
Criterion Covered Total %
statement 16 18 88.8
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 22 24 91.6


line stmt bran cond sub pod time code
1 1     1   18608 use 5.10.1;
  1         4  
  1         42  
2 1     1   5 use strict;
  1         1  
  1         33  
3 1     1   3 use warnings;
  1         4  
  1         68  
4              
5             package Pod::Weaver::PluginBundle::Author::CSSON;
6              
7             our $VERSION = '0.1100'; # VERSION
8              
9 1     1   3 use strict;
  1         2  
  1         23  
10 1     1   4 use warnings;
  1         0  
  1         27  
11 1     1   1003 use Pod::Weaver::Config::Assembler;
  0            
  0            
12             use Path::Tiny;
13              
14             sub xp {
15             Pod::Weaver::Config::Assembler->expand_package(shift);
16             }
17              
18             sub mvp_bundle_config {
19             my @plugins = ();
20              
21             # check git config
22             my $include_default_github = 0;
23             my $git_config = path('.git/config');
24             if($git_config->exists) {
25             my $git_config_contents = $git_config->slurp_utf8;
26             if($git_config_contents =~ m{github\.com:([^/]+)/(.+)\.git}) {
27             $include_default_github = 1;
28             }
29             else {
30             warn ('[PW/@Author::CSSON] No github url found');
31             }
32             }
33              
34             push @plugins => (
35             ['@Author::CSSON/CorePrep', xp('@CorePrep'), { } ],
36             ['@Author::CSSON/SingleEncoding', xp('-SingleEncoding'), { } ],
37             ['@Author::CSSON/Name', xp('Name'), { } ],
38             ['@Author::CSSON/Version', xp('Version'), { format => q{Version %v, released %{YYYY-MM-dd}d.} } ],
39             ['@Author::CSSON/Prelude', xp('Region'), { region_name => 'prelude' } ],
40             );
41              
42             foreach my $plugin (qw/Synopsis Description Overview Stability/) {
43             push @plugins => ['@Author::CSSON/'.$plugin, xp('Generic'), { header => uc $plugin } ];
44             }
45              
46             foreach my $plugin ( ['Attributes', 'attr'],
47             ['Methods', 'method'],
48             ['Functions', 'func'],
49             ) {
50             push @plugins => [ $plugin->[0], xp('Collect'), { command => $plugin->[1], header => uc $plugin->[0] } ];
51             }
52             push @plugins => (
53             ['@Author::CSSON/Leftovers', xp('Leftovers'), { } ],
54             ['@Author::CSSON/postlude', xp('Region'), { } ],
55             (
56             !$ENV{'ILLER_MINTING'} && $include_default_github ?
57             ['@Author::CSSON/Source::DefaultGitHub', xp('Source::DefaultGitHub'), { text => 'L<%s>' } ]
58             :
59             ()
60             ),
61             ['@Author::CSSON/Homepage::DefaultCPAN', xp('Homepage::DefaultCPAN'), { text => 'L<%s>' } ],
62             ['@Author::CSSON/Authors', xp('Authors'), { } ],
63             ['@Author::CSSON/Legal', xp('Legal'), { } ],
64              
65             ['@Author::CSSON/List', xp('-Transformer'), { transformer => 'List' } ],
66             );
67              
68              
69             return @plugins;
70             }
71              
72             1;
73              
74             # ABSTRACT: Weave Pod like CSSON
75              
76             __END__
77              
78             =pod
79              
80             =encoding UTF-8
81              
82             =head1 NAME
83              
84             Pod::Weaver::PluginBundle::Author::CSSON - Weave Pod like CSSON
85              
86             =head1 VERSION
87              
88             Version 0.1100, released 2015-01-07.
89              
90             =head1 SOURCE
91              
92             L<https://github.com/Csson/p5-Pod-Weaver-PluginBundle-Author-CSSON>
93              
94             =head1 HOMEPAGE
95              
96             L<https://metacpan.org/release/Pod-Weaver-PluginBundle-Author-CSSON>
97              
98             =head1 AUTHOR
99              
100             Erik Carlsson <info@code301.com>
101              
102             =head1 COPYRIGHT AND LICENSE
103              
104             This software is copyright (c) 2015 by Erik Carlsson <info@code301.com>.
105              
106             This is free software; you can redistribute it and/or modify it under
107             the same terms as the Perl 5 programming language system itself.
108              
109             =cut