OpenAPI::Model [![Build Status](https://travis-ci.org/croservices/openapi-model.svg?branch=master)](https://travis-ci.org/croservices/openapi-model) ==== OpenAPI::Model - work with OpenAPI documents in terms of a set of Perl 6 objects. SYNOPSIS ======== # Just fully qualified names available (OpenAPI::Model::Operation) use OpenAPI::Model; # Or get short names for model objects imported (Operation) use OpenAPI::Model :elements; # Load an existing document from YAML (returns OpenAPI::Model::OpenAPI): my $api = OpenAPI::Model.from-yaml($yaml-doc); # Or from JSON: my $api = OpenAPI::Model.from-json($json-doc); # Dig into the document (automatically resolves references within the # document): for $api.paths.kv -> $path, $object { say "At $path you can:"; for -> $method { with $object."$method"() { say " - do a $method.uc() request"; } } } # References to external schemas are also possible (we won't go trying # to download anything for you, and expect an `OpenAPI::Model::OpenAPI` # instance for each one). These are used to resolve external references. my %external = 'http://some.organization/schema/foobar' => OpenAPI::Model.from-yaml(slurp('foobar.yaml')); my $api = OpenAPI::Model.from-yaml($yaml-doc, :%external); DESCRIPTION =========== OpenAPI::Model is a library that provides Perl 6 object layers upon OpenAPI documents. AUTHOR ====== Alexander Kiryuhin COPYRIGHT AND LICENSE ===================== Copyright 2018 Edument Central Europe sro. This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.