Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zh/turl

TinyURL service in Ramaze
https://github.com/zh/turl

Last synced: 10 days ago
JSON representation

TinyURL service in Ramaze

Awesome Lists containing this project

README

        

TinyURL Ramaze Application
===========================

Required gems
--------------

sqlite3-ruby, sequel, validatable, ramaze, thin

Features
---------

- everything in one file - model, view, controller
- auto create the database if missing
- unique urls in the database
- url hits counting
- API for command-line access - can shorten urls and restore the original urls

Usage
------

$ curl -O turl.rb "http://github.com/zh/turl/tree/master%2Fturl.rb?raw=true"
$ ruby turl.rb
# browse http://localhost:7000/
# shorten url (turl)
$ curl http://admin:secret@localhost:7000/_api?turl=http://github.com/zh/turl/
# restore the original url
$ curl http://admin:secret@localhost:7000/_api?url=abc
# number of hints for given turl
$ curl http://admin:secret@localhost:7000/_api?hits=abc

Do not forget to change the BASE_URL and LOGINS values. By default the database
file (sqlite3) will be created in the same directory with turl.rb. If this is not
acceptable, change the DB_FILE line.