Skip to content

Balaji-Ramasubramanian/UrlShorty

Repository files navigation

UrlShorty

UrlShorty is ruby gem to simplify URL shortening using Google URL shortener. You can refer the gem Documentation here

Using this you can,

  • Shorten a Long URL
  • Expand a Shortened URL
  • Get Analytics details of a Shortened URL.

Installation

Add this line to your application's Gemfile:

gem 'url_shorty'

And then execute:

$ bundle

Or install it yourself as:

$ gem install url_shorty

Usage

Get Google URL Shortener API Key:

Refer Google URL Shortener Getting Started page to create a API key for google url Shortener service.

Setting up API key:

	UrlShorty.api_key("<Your_API_KEY>")

Shorten URL:

	UrlShorty.shorten_url("<Long_URL>")

Example:

	UrlShorty.shorten_url("https://github.com/Balaji-Ramasubramanian/UrlShorty")
	#=>"https://goo.gl/XojnVs" 

Expand URL:

	UrlShorty.expand_url("<Shorten_URL>")

Example:

	UrlShorty.expand_url("https://goo.gl/XojnVs")
	#=> "https://github.com/Balaji-Ramasubramanian/UrlShorty"

Get Analytics:

To get summary of the analytics for the shortened URL,

	UrlShorty.get_analytics("<Shorten_URL>")

Basics Info:

  • kind
  • id
  • longUrl
  • status
  • created

Example:

	url_analytics_data = UrlShorty.get_analytics("https://goo.gl/XojnVs")
	url_analytics_data.kind  	
	#=> "urlshortener#url"
	url_analytics_data.id 		
	#=> "https://goo.gl/XojnVs"
	url_analytics_data.longUrl 	
	#=> "https://github.com/Balaji-Ramasubramanian/UrlShorty"
	url_analytics_data.created 	
	#=> "2017-11-26T07:26:32.556+00:00"

Usage Info:

Available Scopes:

  • allTime
  • month
  • week
  • twoHours

Available information:

  • shortUrlClicks
  • longUrlClicks
  • referers
  • countries
  • browsers
  • platforms

Example

	url_analytics_data = UrlShorty.get_analytics("https://goo.gl/SeRtHU")
	url_analytics_data.analytics.allTime.shortUrlClicks 			
	#=> "88"
	url_analytics_data.analytics.allTime.referers[0].count 		
	#=>"73"
	url_analytics_data.analytics.month.browsers[1].id 			
	#=>"Chrome"
	url_analytics_data.analytics.twoHours.platforms[2].id 		
	#=>"Macintosh"

License

The gem is available as open source under the terms of the MIT License.