Skip to content

Instantly share code, notes, and snippets.

@nysalor
Created January 14, 2012 07:18
Show Gist options
  • Save nysalor/1610591 to your computer and use it in GitHub Desktop.
Save nysalor/1610591 to your computer and use it in GitHub Desktop.
bit.ly url shorter
require 'rubygems'
require 'net/http'
Net::HTTP.version_1_2
require 'json'
class BitLy
def initialize(params={})
@base_query = "version=2.0.1&login=#{params[:id]}&apiKey=#{params[:api_key]}"
end
def get_short_url(url)
query = "/shorten?" + @base_query + "&longUrl=#{url}"
short_url = ""
begin
short_url = call_bit_api(query)[url]["shortUrl"]
rescue
short_url = nil
end
return short_url
end
def get_short_urls(urls)
query = "/shorten?" + @base_query + "&" + urls.map {|url| "longUrl=#{url}"}.join('&')
urls = []
begin
urls = call_bit_api(query)
rescue
urls = nil
end
return urls
end
private
def call_bit_api(query)
result = JSON.parse(Net::HTTP.get("api.bit.ly", query))
return result["results"]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment