Nexmo / oas_parser

An open source Open API Spec 3 Definition Parser
MIT License
51 stars 16 forks source link
developer-destination nexmo oas3 openapi-specification openapi3 ruby vonage

⚠️ This repository is no longer maintained.


Open API Definition Parser

Nexmo is now known as Vonage

A Ruby parser for Open API Spec 3.0+ definitions.

Install

Install the gem:

$ gem install oas_parser

Or add it to your Gemfile:

gem 'oas_parser'

Usage

Here is a basic example of how you can traverse through an Open API Spec 3 Definition:

require 'oas_parser'

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

Bump the latest version in oas_parser/lib/oas_parser/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.gemspec

_This will create a oas_parser-1.1.0.gem file._

Push the gem to rubygems.org:

$ gem push oas_parser-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