NAME
OpenAPI::Generator::From::Pod - Generate openapi definitions from Perl documentation!
SYNOPSIS
You probably want to use it from OpenAPI::Generator's exported subroutine called 'openapi_from':
use OpenAPI::Generator;
my $openapi_def = openapi_from(pod => {src => 'Controller.pm'});
But also you can use it directly:
use OpenAPI::Generator::From::Pod;
my $generator = OpenAPI::Generator::From::Pod->new;
my $openapi_def = $generator->generate({src => 'Controllers/'})
POD FORMAT
Pod format should look like that:
Some other pod for your package:
=head1 NAME
Controller - some info about this package
After header 'OPENAPI' and '=over' OpenAPI definition block starts
=head1 OPENAPI
=over 2
List the elements of your OpenAPI definition
=item GET /some/route # define openapi route
parameters:
...
=item SCHEMA User # define openapi components/schemes element
type: object
properites:
...
=item SECURITY Cookie # define security schema
...
=item PARAM userId # define parameter
name: userId
in: query
schema:
type: integer
After this '=back' whole OpenAPI block ends
=back
METHODS
- new()
-
Creates new instance of class
my $generator = OpenAPI::Generator::From::Pod->new
- generate($conf)
-
Using just single Perl module
$generator->generate({src => 'Controller.pm'});
Using directory of Perl modules
$generator->generate({src => 'Controllers'});
OPTIONS
- src
-
File path to module/directory of modules to read pod from
AUTHOR
Anton Fedotov, <tosha.fedotov.2000 at gmail.com>
BUGS
Please report any bugs or feature requests to https://github.com/doojonio/OpenAPI-Generator/issues
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc OpenAPI::Generator
LICENSE AND COPYRIGHT
This software is Copyright (c) 2021 by Anton Fedotov.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)