Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Party Time API reimplemented with Weasel Diesel

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 api
Octocat-spinner-32 bin
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 models
Octocat-spinner-32 public
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 Guardfile
Octocat-spinner-32 Rakefile

Weasel Diesel Party Time!

This project is an (example) implementation of the Party Time API using @mattetti's Weasel Diesel web service DSL, and the Weasel Diesel Sinatra gem.


  1. First, clone the repo and bundle the app's dependencies:
$ git clone git://
$ cd partytime_wd
$ bundle install
  1. Then, migrate the database (this will create a development.sqlite3 database in the db/ directory:
$ rake db:migrate RACK_ENV=development
  1. Now, start the server!
$ bundle exec rackup
  1. Or, boot up the console instead:
$ bundle exec bin/console


Available endpoints are limited to:

POST /playlists
GET /playlists/:id
POST /playlists/:playlist_id/tracks
DELETE /playlists/:playlist_id/tracks/:id


Documentation for the API is found under the doc/ directory. Open doc/index.html in your browser to navigate the docs. These docs are generated automatically by Weasel Diesel, so feel free to remove that directory and generate the documentation again with the following rake task:

rake doc:services


To run the test, migrate the test database:

$ rake db:migrate RACK_ENV=test

Then, run the specs!

$ rake test
Something went wrong with that request. Please try again.