Giter Club home page Giter Club logo

shortly's Introduction

Shortly

Gem Version

Build Status

Click here to lend your support to: Shortly and make a donation at pledgie.com !

 ____  _                _   _
/ ___|| |__   ___  _ __| |_| |_   _
\___ \| '_ \ / _ \| '__| __| | | | |
 ___) | | | | (_) | |  | |_| | |_| |
|____/|_| |_|\___/|_|   \__|_|\__, |
                              |___/

A Ruby wrapper for various url shortener services

Installation

create a dependency in your Gemfile

gem 'shortly' #then run
bundle install

and shortly will be up and running. or gem install shortly

Uses

Currently Shortly supports three services (Bit.ly, Goo.gl, is.gd, tinyurl) Please do cross check by running Shortly.active_services. All supported methods have been provided for all services, so you can expect at least one method(shorten) will be available for every service.

Bit.ly

bitly = Shortly::Clients::Bitly
bitly.shorten('http://justatest.com', {:apiKey => 'R_your_api_key', :login => 'your_login'})

Optionally you can set apiKey and login beforehand (it would be more DRY i think if you only gonna use bitly services).

bitly = Shortly::Clients::Bitly
bitly.apiKey  = 'your_api_key'
bitly.login   = 'your_login'
bitly.shorten('http://justatest.com').url
bitly.expand('http://bit.ly/imshort').long_url

Goo.gl

googl = Shortly::Clients::Googl
googl.shorten('http://justatest.com').shortUrl
googl.expand('http://goo.gl/shrt').longUrl
googl.analytics('http://goo.gl/shrt').analytics

ShortSwitch (Credit 'Steve Price (steveprice67)'. See Credits section)

shortswitch = Shortly::Clients::ShortSwitch
shortswitch.apiKey = '<api-key>'
shortswitch.shorten('http://justatest.com').shortUrl

Is.gd

isgd = Shortly::Clients::Isgd
isgd.shorten('http://justatest.com').shorturl

V.gd

vgd = Shortly::Clients::Vgd
vgd.shorten('http://justatest.com').shorturl

Tinyurl.com

tinyurl = Shortly::Clients::Tinyurl
tinyurl.shorten('http://justatest.com').shorturl

Sn.im

snim = Shortly::Clients::Snim
snim.apiKey = "<apiKey>"
snim.login = "<login>"
snim.shorten(long_url).shortUrl
snim.expand(url_id/shorturl).url

Command Line Utility

Shortly also provides command line utility. See some uses below.

shortly 'http://shortme.com/'

By default it uses Googl to short urls but you can specify which service to use. Type @shortly -h@ for more info

shortly 'http://shortme.com/' -s bitly -l '<your-login>' -p '<your-apiKey>' -m method-to-use

here are options and there possible values:

Options What value do they take
-s or --service Service to use(e.g. bitly, isgd(default googl))
-m or --method Method to use(e.g. expand or shorten or analytics(default shorten))
-l or --login Login credential(required for bitly)
-p or --apiKey API Key credentials (for bitly and googl(optional) only)
Some more examples:

spits formatted json at CLI

Credits

More Info

For detailed info visit my blog http://BagwanPankaj.com

For more info write me at bagwanpankaj[at]gmail.com or me[at]bagwanpankaj.com

Copyright (c) 2010 Bagwan Pankaj: http://bagwanpankaj.com, released under the MIT license

TODO's

  • Better documentation
  • Example series

Contributing to shortly

  • Fork, code, and then send me a pull request.

Copyright

Copyright (c) 2010-2016 [Bagwan Pankaj]. See LICENSE.txt for further details.

shortly's People

Contributors

bagwanpankaj avatar steveprice67 avatar

Stargazers

Christopher Caldwell avatar Angus H. avatar Adam Miribyan avatar Mohamed Magdy avatar Chris Chapman avatar Tati Carvalho avatar Bueller avatar  avatar sk avatar Nathan avatar Matt Vasquez avatar George Bragin avatar William Blackerby avatar Povilas Developer avatar Joel Van Horn avatar Ilya Krasilnikov avatar Michael Schroll avatar Adam Rubin avatar Kevin Hutson avatar Ghanshyam Rathod avatar Noah Singer avatar  avatar Guillaume avatar Roman Shterenzon avatar Stone Gao avatar Konstantin Haase avatar Ilya Grigorik avatar Rob Christie avatar  avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.