This is the app running on https://api.travis-ci.org/
Setup:
$ bundle install
Run tests:
$ RAILS_ENV=test rake db:create db:structure:load
$ rake spec
Run the server:
$ rake db:create db:structure:load
$ foreman start
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
We use source code comments to add documentation. If the server is running, you
can browse an HTML documenation at /docs
.
lib
`-- travis
`-- api
`-- app
|-- endpoint # API endpoints
|-- extensions # Sinatra extensions
|-- helpers # Sinatra helpers
`-- middleware # Rack middleware
Classes inheriting from Endpoint
or Middleware
, they will automatically be
set up properly.
Each endpoint class gets mapped to a prefix, which defaults to the snake-case
class name (i.e. Travis::Api::App::Profile
will map to /profile
).
It can be overridden by setting :prefix
:
require 'travis/api/app'
class Travis::Api::App
class MyRouts < Endpoint
set :prefix, '/awesome'
end
end