#!/usr/bin/env ruby # Non-Copyright (c) 2008 Joao Paulo Camargo # # moourl.rb - is a small module to get contracted urls using http://moourl.com # # Usage: # MooUrl::milk('http://code.jotape.org') # > http://moourl.com/foxvd # MooUrl::moo('foxvd') # > http://code.jotape.org # MooUrl::personalize('foxvd', 'codejotape') # > http://moourl.com/codejotape require 'rubygems' require 'mechanize' require 'hpricot' module MooUrl def milk(url) doc = self.get("http://moourl.com/create/?source=#{url}") milked_url = (doc/"#milked_url").innerHTML end def moo(code) doc = self.get("http://moourl.com/woot/?moo=#{code}") original_url = (doc/"#original_url").innerHTML end def personalize(code, alias) doc = self.get("http://moourl.com/personalize/?moourl=#{code}&alias=#{alias}") milked_url => (doc/"#milked_url").innerHTML end def self.get(url) agent = WWW::Mechanize.new response = agent.get(url) Hpricot::XML(response.body) end end