Sinatra::Schema

Define the producer API schema using a [Ruby DSL](http://github.com/pedro/sinatra-schema) instead of JSON/YAML.
```
link.property(:target, {type: :text, id: :text})
or
link.nested_property(:target, {text: [:type, :id]})
```