hmaus/reynaldo

Parse API Blueprint refract into a iterable PHP data structure for easier access

v0.1.7 2021-05-09 13:01 UTC

This package is auto-updated.

Last update: 2024-04-09 18:55:14 UTC


README

Turn API Blueprint Refract Parse Result (Drafter's output) into a traversable PHP data structure.

codecov.io Code Climate

What is Reynaldo?

It should ease the processing of Drafter refract output.

You read your Drafter parse result, either JSON or YAML, you convert that to a PHP assoc array, e.g. json_decode($parseresult, true) in PHP and pass it into \Hmaus\Reynaldo\Parser\RefractParser::parse.

Out comes an easily traversable object.

You can find a little example in /example.

// load file and json_decode as assoc array into $apiDescription

$parser = new RefractParser();
$parseResult = $parser->parse($apiDescription);
$api = $parseResult->getApi();

// try to get the API title `$api->getApiTitle();`
// or the document description in markdown `$api->getApiDocumentDescription();`

foreach ($parseResult->getApi()->getResourceGroups() as $apiResourceGroup) {

    foreach ($apiResourceGroup->getResources() as $apiResource) {
    
        foreach ($apiResource->getTransitions() as $apiStateTransition) {
        
            foreach ($apiStateTransition->getHttpTransactions() as $apiHttpTransaction) {
                // inspect `$apiHttpTransaction->getHttpRequest()`, `$apiHttpTransaction->getHttpResponse()`
            }
        }
    }
}

Requirements

  • PHP 7.0 or greater

Installation

The recommended way to install is by using composer:

$ composer require hmaus/reynaldo

This will install the PHP package with your application.

License

Reynaldo is licensed under the MIT License - see the LICENSE file for details.