File Coverage

blib/lib/Pod/Weaver/PluginBundle/Author/HAYOBAAN.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 30 31 96.7


line stmt bran cond sub pod time code
1             package Pod::Weaver::PluginBundle::Author::HAYOBAAN;
2 1     1   1774966 use strict;
  1         3  
  1         31  
3 1     1   4 use warnings;
  1         2  
  1         70  
4              
5             # ABSTRACT: HAYOBAAN's Pod::Weaver configuration
6             our $VERSION = '0.012'; # VERSION
7              
8             #pod =head1 DESCRIPTION
9             #pod
10             #pod This is a L<Pod::Weaver> PluginBundle, set up according to HAYOBAAN's
11             #pod preferences.
12             #pod
13             #pod It's main features are:
14             #pod
15             #pod =begin :list
16             #pod
17             #pod * Specific sequence of headings
18             #pod
19             #pod * Region collectors for:
20             #pod
21             #pod =for :list
22             #pod * requires (Requirements)
23             #pod * var (Variables)
24             #pod * func (Functions)
25             #pod * c_attr (Class Attributes)
26             #pod * attr (Attributes)
27             #pod * construct (Constructors)
28             #pod * c_method (Class Methods)
29             #pod * method (Methods)
30             #pod
31             #pod * Replacing the original pod statements with comments, allowing line
32             #pod numbers to stay the same between development and build versions.
33             #pod
34             #pod =end :list
35             #pod
36             #pod It is roughly equivalent to the following weaver.ini:
37             #pod
38             #pod [@CorePrep]
39             #pod
40             #pod [-SingleEncoding]
41             #pod [-Transformer]
42             #pod transformer = List
43             #pod
44             #pod [Name]
45             #pod [Version]
46             #pod
47             #pod [Region / prelude]
48             #pod
49             #pod [Generic / SYNOPSIS]
50             #pod [Generic / DESCRIPTION]
51             #pod [Generic / OVERVIEW]
52             #pod [Generic / USAGE]
53             #pod [Generic / OPTIONS]
54             #pod
55             #pod [Collect / REQUIREMENTS]
56             #pod command = requires
57             #pod
58             #pod [Collect / VARIABLES]
59             #pod command = var
60             #pod
61             #pod [Collect / FUNCTIONS]
62             #pod command = func
63             #pod
64             #pod [Collect / CLASS ATTRIBUTES]
65             #pod command = c_attr
66             #pod
67             #pod [Collect / ATTRIBUTES]
68             #pod command = attr
69             #pod
70             #pod [Collect / CONSTRUCTORS]
71             #pod command = construct
72             #pod
73             #pod [Collect / CLASS METHODS]
74             #pod command = c_method
75             #pod
76             #pod [Collect / METHODS]
77             #pod command = method
78             #pod
79             #pod [Leftovers]
80             #pod
81             #pod [Region /postlude]
82             #pod
83             #pod [Bugs]
84             #pod [Generic / STABILITY]
85             #pod [Generic / COMPATIBILITY]
86             #pod [Generic / SEE ALSO]
87             #pod [Generic / CREDITS]
88             #pod [Authors]
89             #pod [Legal]
90             #pod
91             #pod =head1 USAGE
92             #pod
93             #pod Add the following line to your F<weaver.ini>:
94             #pod
95             #pod [@Author::HAYOBAAN]
96             #pod
97             #pod or, these lines to your F<dist.ini> file:
98             #pod
99             #pod [PodWeaver]
100             #pod config_plugin = @Author::HAYOBAAN
101             #pod
102             #pod Alternatively you can also add the following line to your F<dist.ini>
103             #pod (this will also enable HAYOBAAN's L<Dist::Zilla> setup):
104             #pod
105             #pod [@Author::HAYOBAAN]
106             #pod
107             #pod
108             #pod =head1 SEE ALSO
109             #pod
110             #pod =for :list
111             #pod * L<Pod::Weaver>
112             #pod * L<Pod::Elemental::Transformer::List>
113             #pod * L<Pod::Elemental::PerlMunger>
114             #pod * L<Pod::Weaver::Section::Autor::HAYOBAAN::Bugs>
115             #pod * L<Dist::Zilla::Plugin::PodWeaver>
116             #pod
117             #pod =for Pod::Coverage mvp_bundle_config
118             #pod
119             #pod =cut
120              
121 1     1   5 use Pod::Weaver::Config::Assembler;
  1         2  
  1         59  
122 28     28   914 sub _exp { return Pod::Weaver::Config::Assembler->expand_package( $_[0] ) }
123              
124             # Required non-core Pod Weaver modules
125 1     1   593 use Pod::Elemental::Transformer::List ();
  1         15611  
  1         28  
126 1     1   7 use Pod::Elemental::PerlMunger ();
  1         1  
  1         321  
127              
128             sub mvp_bundle_config {
129 1     1 0 1483 my @plugins;
130 1         4 push @plugins, (
131             [ '@HAYOBAAN/CorePrep', _exp('@CorePrep'), {} ],
132              
133             [ '@HAYOBAAN/SingleEncoding', _exp('-SingleEncoding'), {} ],
134             [ '@HAYOBAAN/List', _exp('-Transformer'), { 'transformer' => 'List' } ],
135              
136             [ '@HAYOBAAN/Name', _exp('Name'), {} ],
137             [ '@HAYOBAAN/Version', _exp('Version'), {} ],
138              
139             [ '@HAYOBAAN/Prelude', _exp('Region'), { region_name => 'prelude' } ],
140              
141             [ '@HAYOBAAN/Synopsis', _exp('Generic'), { header => 'SYNOPSIS' } ],
142             [ '@HAYOBAAN/Description', _exp('Generic'), { header => 'DESCRIPTION' } ],
143             [ '@HAYOBAAN/Overview', _exp('Generic'), { header => 'OVERVIEW' } ],
144             [ '@HAYOBAAN/Usage', _exp('Generic'), { header => 'USAGE' } ],
145             [ '@HAYOBAAN/Options', _exp('Generic'), { header => 'OPTIONS' } ],
146             );
147              
148 1         68 for my $plugin (
149             [ 'Requirements', _exp('Collect'), { command => 'requires' } ],
150             [ 'Variables', _exp('Collect'), { command => 'var' } ],
151             [ 'Functions', _exp('Collect'), { command => 'func' } ],
152             [ 'Class Attributes', _exp('Collect'), { command => 'c_attr' } ],
153             [ 'Attributes', _exp('Collect'), { command => 'attr' } ],
154             [ 'Constructors', _exp('Collect'), { command => 'construct' } ],
155             [ 'Class Methods', _exp('Collect'), { command => 'c_method' } ],
156             [ 'Methods', _exp('Collect'), { command => 'method' } ],
157             ) {
158 8         51 $plugin->[2]{header} = uc $plugin->[0];
159 8         9 push @plugins, $plugin;
160             }
161              
162 1         22 push @plugins, (
163             [ '@HAYOBAAN/Leftovers', _exp('Leftovers'), {} ],
164              
165             [ '@HAYOBAAN/postlude', _exp('Region'), { region_name => 'postlude' } ],
166              
167             [ '@HAYOBAAN/Bugs', _exp('Author::HAYOBAAN::Bugs'), {} ],
168              
169             [ '@HAYOBAAN/Stability', _exp('Generic'), { header => 'STABILITY' } ],
170             [ '@HAYOBAAN/Compatibility', _exp('Generic'), { header => 'COMPATIBILITY' } ],
171              
172             [ '@HAYOBAAN/SeeAlso', _exp('Generic'), { header => 'SEE ALSO' } ],
173             [ '@HAYOBAAN/Credits', _exp('Generic'), { header => 'CREDITS' } ],
174              
175             [ '@HAYOBAAN/Authors', _exp('Authors'), {} ],
176             [ '@HAYOBAAN/Legal', _exp('Legal'), {} ],
177             );
178              
179 1         60 return @plugins;
180             }
181              
182             1;
183              
184             __END__
185              
186             =pod
187              
188             =encoding UTF-8
189              
190             =head1 NAME
191              
192             Pod::Weaver::PluginBundle::Author::HAYOBAAN - HAYOBAAN's Pod::Weaver configuration
193              
194             =head1 VERSION
195              
196             version 0.012
197              
198             =head1 DESCRIPTION
199              
200             This is a L<Pod::Weaver> PluginBundle, set up according to HAYOBAAN's
201             preferences.
202              
203             It's main features are:
204              
205             =over 4
206              
207             =item *
208              
209             Specific sequence of headings
210              
211             =item *
212              
213             Region collectors for:
214              
215             =over 4
216              
217             =item *
218              
219             requires (Requirements)
220              
221             =item *
222              
223             var (Variables)
224              
225             =item *
226              
227             func (Functions)
228              
229             =item *
230              
231             c_attr (Class Attributes)
232              
233             =item *
234              
235             attr (Attributes)
236              
237             =item *
238              
239             construct (Constructors)
240              
241             =item *
242              
243             c_method (Class Methods)
244              
245             =item *
246              
247             method (Methods)
248              
249             =back
250              
251             =item *
252              
253             Replacing the original pod statements with comments, allowing line numbers to stay the same between development and build versions.
254              
255             =back
256              
257             It is roughly equivalent to the following weaver.ini:
258              
259             [@CorePrep]
260              
261             [-SingleEncoding]
262             [-Transformer]
263             transformer = List
264              
265             [Name]
266             [Version]
267              
268             [Region / prelude]
269              
270             [Generic / SYNOPSIS]
271             [Generic / DESCRIPTION]
272             [Generic / OVERVIEW]
273             [Generic / USAGE]
274             [Generic / OPTIONS]
275              
276             [Collect / REQUIREMENTS]
277             command = requires
278              
279             [Collect / VARIABLES]
280             command = var
281              
282             [Collect / FUNCTIONS]
283             command = func
284              
285             [Collect / CLASS ATTRIBUTES]
286             command = c_attr
287              
288             [Collect / ATTRIBUTES]
289             command = attr
290              
291             [Collect / CONSTRUCTORS]
292             command = construct
293              
294             [Collect / CLASS METHODS]
295             command = c_method
296              
297             [Collect / METHODS]
298             command = method
299              
300             [Leftovers]
301              
302             [Region /postlude]
303              
304             [Bugs]
305             [Generic / STABILITY]
306             [Generic / COMPATIBILITY]
307             [Generic / SEE ALSO]
308             [Generic / CREDITS]
309             [Authors]
310             [Legal]
311              
312             =head1 USAGE
313              
314             Add the following line to your F<weaver.ini>:
315              
316             [@Author::HAYOBAAN]
317              
318             or, these lines to your F<dist.ini> file:
319              
320             [PodWeaver]
321             config_plugin = @Author::HAYOBAAN
322              
323             Alternatively you can also add the following line to your F<dist.ini>
324             (this will also enable HAYOBAAN's L<Dist::Zilla> setup):
325              
326             [@Author::HAYOBAAN]
327              
328             =for Pod::Coverage mvp_bundle_config
329              
330             =head1 BUGS
331              
332             Please report any bugs or feature requests on the bugtracker
333             L<website|https://github.com/HayoBaan/Dist-Zilla-PluginBundle-Author-HAYOBAAN/issues>.
334              
335             When submitting a bug or request, please include a test-file or a
336             patch to an existing test-file that illustrates the bug or desired
337             feature.
338              
339             =head1 SEE ALSO
340              
341             =over 4
342              
343             =item *
344              
345             L<Pod::Weaver>
346              
347             =item *
348              
349             L<Pod::Elemental::Transformer::List>
350              
351             =item *
352              
353             L<Pod::Elemental::PerlMunger>
354              
355             =item *
356              
357             L<Pod::Weaver::Section::Autor::HAYOBAAN::Bugs>
358              
359             =item *
360              
361             L<Dist::Zilla::Plugin::PodWeaver>
362              
363             =back
364              
365             =head1 AUTHOR
366              
367             Hayo Baan <info@hayobaan.com>
368              
369             =head1 COPYRIGHT AND LICENSE
370              
371             This software is copyright (c) 2014 by Hayo Baan.
372              
373             This is free software; you can redistribute it and/or modify it under
374             the same terms as the Perl 5 programming language system itself.
375              
376             =cut