goshortener 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/goshortener.rb +9 -16
  2. metadata +1 -1
data/lib/goshortener.rb CHANGED
@@ -2,14 +2,13 @@ require "rubygems"
2
2
  require "rest_client"
3
3
  require "json"
4
4
 
5
+ class InvalidUrlError < Exception; end
5
6
 
6
7
  class GoShortener
7
8
 
8
9
  #initialize with/without api key
9
10
  def initialize(api_key="")
10
- unless api_key == ""
11
- @api_key = api_key
12
- end
11
+ @api_key = api_key unless api_key == ""
13
12
  @base_url = "https://www.googleapis.com/urlshortener/v1/url"
14
13
  end
15
14
 
@@ -18,19 +17,16 @@ class GoShortener
18
17
  if long_url.is_a?(String)
19
18
  request_json = {'longUrl' => long_url}.to_json
20
19
  request_url = @api_key ? (@base_url + "?key=#{@api_key}") : @base_url
21
-
22
20
  begin
23
21
  response = RestClient.post request_url, request_json, :accept => :json, :content_type => :json
24
- rescue
25
- raise "Please provide a valid url string"
22
+ rescue
23
+ raise InvalidUrlError, "Please provide a valid URL"
26
24
  end
27
-
28
25
  else
29
- raise "Please provide a valid url string"
26
+ raise "Please provide a url String"
30
27
  end
31
28
  response = JSON.parse response
32
- short_url = response["id"]
33
- return short_url
29
+ response["id"]
34
30
  end
35
31
 
36
32
  #Given a short URL, Returns the true long url using http://goo.gl service
@@ -38,19 +34,16 @@ class GoShortener
38
34
  if short_url.is_a?(String)
39
35
  request_params = {:shortUrl => short_url}
40
36
  request_params.merge!(:key => @api_key) if @api_key
41
-
42
37
  begin
43
38
  response = RestClient.get @base_url, :params => request_params
44
39
  rescue
45
- raise "Please provide a valid goo.gl short url to lengthen"
40
+ raise InvalidUrlError, "Please provide a valid URL"
46
41
  end
47
-
48
42
  else
49
- raise "Please provide a valid goo.gl short url to lengthen"
43
+ raise "Please provide a valid http://goo.gl url String"
50
44
  end
51
45
  response = JSON.parse response
52
- long_url = response["longUrl"]
53
- return long_url
46
+ response["longUrl"]
54
47
  end
55
48
 
56
49
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: goshortener
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.1
5
+ version: 1.2.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - lakshmanan