Module: UrlShortener
- Defined in:
- lib/auth/url_shortener.rb
Class Method Summary collapse
-
.shorten(longUrl = nil) ⇒ Object
return shortened url.
-
.url_shortener_endpoint ⇒ Object
return shortened url OR nil if exception is encountered.
Class Method Details
.shorten(longUrl = nil) ⇒ Object
return shortened url. raises exception if no longurl provided.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/auth/url_shortener.rb', line 9 def self.shorten(longUrl=nil) raise Exception.new("long url not provided") if longUrl.nil? body = {:longUrl => longUrl}.to_json request = Typhoeus::Request.new( url_shortener_endpoint, method: :post, params: { key: Auth.configuration.third_party_api_keys[:google_url_shortener_api_key] }, body: body, headers: { 'Accept' => "application/json", 'Content-Type' => "application/json" } ) response = request.run JSON.parse(response.body)["id"] if response.success? end |
.url_shortener_endpoint ⇒ Object
return shortened url OR nil if exception is encountered.
3 4 5 |
# File 'lib/auth/url_shortener.rb', line 3 def self.url_shortener_endpoint "https://www.googleapis.com/urlshortener/v1/url" end |