A REST API for Coin
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
test
.gitignore
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
coin_rack.gemspec
config.ru

README.md

Lines of Code Code Status Dependency Status Build Status Coverage Status Downloads

CoinRack

A simple Rack application that provides a REST interface to Coin's API.

Quick Start

Run the server

$ gem install coin_rack
$ coin_rack --run

Make some client requests

$ curl --data "value=true" http://localhost:9292/example.json
{"example":true}

$ curl http://localhost:9292/example.json
{"example":true}

$ curl -X DELETE http://localhost:9292/example.json
{"example":true}

$ curl http://localhost:9292/example.json
{"example":null}

Prefer XML?

$ curl --data "value=true" http://localhost:9292/example.xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <example type="boolean">true</example>
</hash>

$ curl http://localhost:9292/example.xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <example type="boolean">true</example>
</hash>

$ curl -X DELETE http://localhost:9292/example.xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <example type="boolean">true</example>
</hash>

$ curl http://localhost:9292/example.xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <example nil="true"/>
</hash>

URL Definition

                  cache key
                       |
http://localhost:9292/KEY.FORMAT
                            |
                    response format

Note: The XML format is also supported but XML examples have been omitted for brevity.

POST/PUT

Create and/or update the key to a new value.

Params

  • value - the value to assign

Request URI

http://localhost:9292/example.json

Request Body

value=true

Response

"{\"example\":\"true\"}"

GET

Get the current value for the specified key.

Request URI

http://localhost:9292/example.json

Response

"{\"example\":\"true\"}"

DELETE

Deletes the key.

Request URI

http://localhost:9292/example.json

Response

Note the value returned is the value that was deleted.

"{\"example\":true}"

Getting Serious