arbrix / raml

An implementation of a RAML parser for Go. Compliant with RAML 0.8.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Looking for an active maintainer!

June 5th, 2016

Unfortunately, I haven't been able to continue active support for this project, as I've been busy with other private commercial endeavours. Since this project is in use in several projects and has several active forks, I'm looking for someone to take over this and make it useful once again.

The basic features I'd suggest are:

If you're interested in taking over this project, please let me know. Email me at diamant.alon@gmail.com.

Thanks!

--

--

raml

An implementation of a RAML parser for Go. Compliant with RAML 0.8.

Introduction

RAML is a YAML-based language that describes RESTful APIs. Together with the YAML specification, this specification provides all the information necessary to describe RESTful APIs; to create API client-code and API server-code generators; and to create API user documentation from RAML API definitions.

The raml package enables Go programs to parse RAML files and valid RAML API definitions. It was originally developed within EverythingMe.

Status

The raml package is currently unstable and does not offer any kind of API stability guarantees.

Installation

The yaml package may be installed by running:

$ go get gopkg.in/raml.v0

Opening that same URL in a browser will present a nice introductory page containing links to the documentation, source code, and all versions available for the given package:

https://gopkg.in/raml.v0

The actual implementation of the package is in GitHub:

https://github.com/go-raml/raml

Contributing to development

Typical installation process for developing purposes:

$ git clone git@github.com:go-raml/raml.git
$ cd raml
$ go build
$ go install
$ go test

Usage

Usage is very simple:

package main

import (
	"fmt"
	raml "gopkg.in/raml.v0"
	"github.com/kr/pretty"
)

func main() {

	fileName := "./samples/congo/api.raml"

	if apiDefinition, err := raml.ParseFile(fileName); err != nil {
		fmt.Printf("Failed parsing RAML file %s:\n  %s", fileName, err.Error())
	} else {
		fmt.Printf("Successfully parsed RAML file %s!\n\n", fileName)
		pretty.Printf(apiDefinition)
	}
}

Getting help

Roadmap

TBD.

Reporting Bugs and Contributing Code

  • Want to report a bug or request a feature? Please open an issue.
  • Want to contribute to raml? Fork the project and make a pull request. Cool cool cool.

License

See LICENSE file.

About

An implementation of a RAML parser for Go. Compliant with RAML 0.8.

License:Other


Languages

Language:Go 100.0%