This repository is a fork of nexmo/oas_parser that is no longer maintained. So in case you want to contribute do it here.
Open API Definition Parser
A Ruby parser for Open API Spec 3.0+ definitions.
Install
Install the gem:
$ gem install oas_parser_reborn
Or add it to your Gemfile:
gem 'oas_parser_reborn'
Usage
Here is a basic example of how you can traverse through an Open API Spec 3 Definition:
require 'oas_parser_reborn'
definition = OasParser::Definition.resolve('petstore.yml')
# => #<OasParser::Definition>
# Get a specific path
path = definition.path_by_path('/pets')
# => #<OasParser::Path>
# Get all paths.
definition.paths
# => [#<OasParser::Path>, ...]
# Get a specific endpoint by method
endpoint = path.endpoint_by_method('get')
# => #<OasParser::Endpoint>
# Get all endpoints
path.endpoints
# => [#<OasParser::Endpoint>, ...]
# Get endpoint description
endpoint.description
# => "Returns all pets from the system that the user has access to"
Checkout the tests and lib
directory for more classes and methods.
Development
Run tests:
$ rspec
Publishing
Clone the repo and navigate to its directory:
$ cd oas_parser_reborn
Bump the latest version in oas_parser_reborn/lib/oas_parser_reborn/version.rb
:
//old
module OasParser
VERSION = '1.0.0'.freeze
end
//new
module OasParser
VERSION = '1.1.0'.freeze
end
Build the gem:
$ gem build oas_parser_reborn.gemspec
This will create a oas_parser_reborn-1.1.0.gem
file.
Push the gem to rubygems.org:
$ gem push oas_parser_reborn-1.1.0.gem
Verify the change was made by checking for the new version on rubygems.org
Contributing
Contributions are welcome, please follow GitHub Flow