NAME
Pod::Elemental::Transformer::Splint - Documentation from class metadata
VERSION
Version 0.1002, released 2015-01-18.
SYNOPSIS
# in weaver.ini
[-Transformer / Splint]
transformer = Splint
DESCRIPTION
Pod::Elemental::Transformer::Splint uses MooseX::AttributeDocumented to add inlined documentation about attributes to pod. If you write your classes with Moops you can also document method signatures with Kavorka::TraitFor::Parameter::doc (and ::ReturnType::doc).
A class defined like this:
package My::Class;
use Moose;
has has_brakes => (
is => 'ro',
isa => Bool,
default => 1,
traits => ['Documented'],
documentation => 'Does the bike have brakes?',
documentation_alts => {
0 => 'Hopefully a track bike',
1 => 'Always nice to have',
},
);
=pod
:splint classname My::Class
:splint attributes
=cut
Will render like this (to html):
begin
has_brakes
Bool | optional, default: 1 |
read-only | 0 : |
Hopefully a track bike |
1 : |
Always nice to have |
Does the bike have brakes?
end
A Moops class defined like this:
class My::MoopsClass using Moose {
...
method advanced_method(Int $integer does doc("Just an integer\nmethod_doc|This method is advanced."),
ArrayRef[Str|Bool] $lots_of_stuff does doc('It works with both types'),
Str :$name! does doc("What's the name"),
Int :$age does doc('The age of the thing') = 0,
Str :$pseudonym does doc('Incognito..')
--> Bool but assumed does doc('Did it succeed?')
) {
return 1;
}
method less_advanced($stuff,
$another_thing does doc("Don't know what we get here"),
ArrayRef $the_remaining is slurpy does doc('All the remaining')
) {
return 1;
}
...
}
=pod
:splint classname My::MoopsClass
:splint method advanced_method
It needs lots of documentation.
:splint method less_advanced
=cut
Will render like this (to html):
begin
advanced_method
This method is advanced.
Positional parameters | ||||
$integer |
Int | required | Just an integer |
|
$lots_of_stuff |
ArrayRef[ Str | Bool ] | required | It works with both types |
|
Named parameters | ||||
name => $value |
Str | required | What's the name | |
age => $value |
Int | optional, default = 0 |
The age of the thing | |
pseudonym => $value |
Str | optional, no default | Incognito.. | |
Returns | ||||
Bool | Did it succeed? |
It needs lots of documentation.
less_advanced
Positional parameters | ||||
$stuff |
required | |||
$another_thing |
required | Don't know what we get here |
||
$the_remaining |
ArrayRef | required | slurpy | All the remaining |
end
SEE ALSO
SOURCE
https://github.com/Csson/p5-Pod-Elemental-Transformer-Splint
HOMEPAGE
https://metacpan.org/release/Pod-Elemental-Transformer-Splint
AUTHOR
Erik Carlsson <info@code301.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Erik Carlsson <info@code301.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.