googl-api 0.2.3 → 0.2.4
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.
- data/VERSION +1 -1
- data/googl-api.gemspec +2 -2
- data/lib/googl-api/client.rb +6 -12
- data/lib/googl-api/response.rb +4 -1
- data/test/helper.rb +2 -2
- data/test/test_googl.rb +19 -0
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.4
|
data/googl-api.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{googl-api}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["John Allen"]
|
12
|
-
s.date = %q{2011-01-
|
12
|
+
s.date = %q{2011-01-13}
|
13
13
|
s.description = %q{A very simple ruby wrapper for the goo.gl URL Shortening service}
|
14
14
|
s.email = %q{john@threedogconsulting.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/googl-api/client.rb
CHANGED
@@ -4,7 +4,7 @@ module GooglApi
|
|
4
4
|
API_URL = 'https://www.googleapis.com/urlshortener/'
|
5
5
|
API_VERSION = 'v1'
|
6
6
|
|
7
|
-
def self.new(api_key)
|
7
|
+
def self.new(api_key = nil)
|
8
8
|
Client.new(api_key)
|
9
9
|
end
|
10
10
|
|
@@ -14,29 +14,23 @@ module GooglApi
|
|
14
14
|
base_uri "#{API_URL}#{API_VERSION}"
|
15
15
|
headers 'Content-Type' => 'application/json; charset=utf-8'
|
16
16
|
|
17
|
-
def initialize(api_key)
|
18
|
-
@api_key = { :key => api_key }
|
17
|
+
def initialize(api_key = nil)
|
18
|
+
@api_key = { :key => api_key } unless api_key.blank?
|
19
19
|
end
|
20
20
|
|
21
21
|
def shorten(url)
|
22
22
|
raise ArgumentError.new("A URL to shorten is required") if url.blank?
|
23
|
-
load_respose(self.class.post('/url', :body => "{ \"longUrl\" => \"#{url}\" }"))
|
24
|
-
# api key not working at this time
|
25
|
-
# load_respose(self.class.post('/url', :query => @api_key, :body => "{ \"longUrl\" => \"#{url}\" }"))
|
23
|
+
load_respose(self.class.post('/url', :query => @api_key, :body => "{ \"longUrl\" => \"#{url}\" }"))
|
26
24
|
end
|
27
25
|
|
28
26
|
def expand(url)
|
29
27
|
raise ArgumentError.new("A URL to expand is required") if url.blank?
|
30
|
-
load_respose(self.class.get('/url', :query => { :shortUrl => url }))
|
31
|
-
# api key not working at this time
|
32
|
-
# load_respose(self.class.get('/url', :query => @api_key.merge({ :shortUrl => url })))
|
28
|
+
load_respose(self.class.get('/url', :query => @api_key.merge({ :shortUrl => url })))
|
33
29
|
end
|
34
30
|
|
35
31
|
def analytics(url, projection = "FULL")
|
36
32
|
raise ArgumentError.new("A URL to check analytics on is required") if url.blank?
|
37
|
-
load_respose(self.class.get('/url', :query => { :shortUrl => url, :projection => projection }))
|
38
|
-
# api key not working at this time
|
39
|
-
# load_respose(self.class.get('/url', :query => @api_key.merge({ :shortUrl => url, :projection => projection })))
|
33
|
+
load_respose(self.class.get('/url', :query => @api_key.merge({ :shortUrl => url, :projection => projection })))
|
40
34
|
end
|
41
35
|
private
|
42
36
|
def load_respose(resp)
|
data/lib/googl-api/response.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -13,11 +13,11 @@ require 'shoulda'
|
|
13
13
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
14
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib', 'googl-api'))
|
15
15
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
|
-
require 'httparty'
|
17
16
|
require 'googl-api'
|
18
17
|
|
19
18
|
class Test::Unit::TestCase
|
20
19
|
def api_key
|
21
|
-
'test_key'
|
20
|
+
# 'test_key'
|
21
|
+
'AIzaSyDIENPX6ZJoRFIS4Ix-ev5fOjRh8pNME9Y'
|
22
22
|
end
|
23
23
|
end
|
data/test/test_googl.rb
CHANGED
@@ -26,6 +26,9 @@ class TestGoogl < Test::Unit::TestCase
|
|
26
26
|
should "save the long url" do
|
27
27
|
assert_equal "http://ruby-lang.org/", @url.long_url
|
28
28
|
end
|
29
|
+
should "provide a qr code url" do
|
30
|
+
assert_equal "http://goo.gl/p2Jpa.qr", @url.qr_code
|
31
|
+
end
|
29
32
|
end
|
30
33
|
context "no links" do
|
31
34
|
should "raise an ArgumentError" do
|
@@ -79,4 +82,20 @@ class TestGoogl < Test::Unit::TestCase
|
|
79
82
|
end
|
80
83
|
end
|
81
84
|
end
|
85
|
+
context "using the googl-api client without api key" do
|
86
|
+
setup do
|
87
|
+
@client = GooglApi.new
|
88
|
+
end
|
89
|
+
|
90
|
+
context "shortening" do
|
91
|
+
context "a single link" do
|
92
|
+
setup do
|
93
|
+
@url = @client.shorten('http://ruby-lang.org/')
|
94
|
+
end
|
95
|
+
should "return a GooglApi::Response" do
|
96
|
+
assert_kind_of GooglApi::Response, @url
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
82
101
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 4
|
9
|
+
version: 0.2.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- John Allen
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-13 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -126,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
hash:
|
129
|
+
hash: -2555399239044821738
|
130
130
|
segments:
|
131
131
|
- 0
|
132
132
|
version: "0"
|