Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Corto is a URL Shortening gem
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


CORTO - your url shortner gem

- Yet another url shortner?
	corto is a ruby gem that shorten a URL for you and store the result in a SQLite3 database.
	Why the world needs another url shortener? Well, true to be told I don't know the answer and I'm 
	pretty sure this code is far away from being revolutionary.
	However... corto is funniest!

- Usage
	Using corto as standalone utility is straightforward. In case you want to shorten an url you just 
	launch the program with the url as parameter.
		% bin/corto
		% corto: shrunk as ji5jnu
	Please note that you've to supply a valid URL, since internally it's parsed and rejected anything but
	HTTP and HTTPS verbs.
		% bin/corto funnystatementhere
		% corto: it seems funnystatementhere is not a valid url to shrink
	If you want to deflate a shrunk url, you have just to specify the '-d' flag this way.
		% bin/corto -d ji5jnu
		% corto: ji5jnu deflated is

	Super easy, isn't it? Now, go ahead and shrink the web!

	A simple corto shortening session start with class initialization, optionally telling which SQLite3 
	database to use and then mastering the parameter.
		require 'corto'
		corto = # we're now saying the gem we want to use it's internal database stored in db/corto.db
		s = corto.shrink('')
		# s now stores the shrinked url that is already added to database if not present.
		# If you'll pass an invalid url to shrink(), nil will be returned instead
	Deflating a URL is super easy as well
		# The deflate process is quite straightforward as well
		d = corto.deflate(s)
		# d has now the deflated url or nil if that url was not found
	You can also count how many urls contained into db
		# If you want to know how many urls you have in your database, just call the count() method.
		puts 'Hey, I have stored ' + corto.count() + ' urls'
	And finally you can purge your db
		# Tired of your database and time for a massive clean has come? Let's purge the db.
		# corto.count == 0 now
- Note on Patches/Pull Requests

	* Fork the project.
	* Make your feature addition or bug fix.
	* Add tests for it. This is important so I don’t break it in a future version unintentionally.
	* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, 
		that is fine but bump version in a commit by itself I can ignore when I pull)
	* Send me a pull request. Bonus points for topic branches.

- Copyright
	Copyright © 2011 Paolo Perego. See LICENSE for details.
Something went wrong with that request. Please try again.