googl 0.1.2 → 0.2.0

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/Gemfile CHANGED
@@ -1,9 +1,11 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ gem "httparty", "0.6.1"
4
+
3
5
  group :development do
4
6
  gem "rspec", "~> 2.3.0"
5
7
  gem "bundler", "~> 1.0.0"
6
8
  gem "jeweler", "~> 1.5.2"
7
9
  gem "rcov", ">= 0"
8
- gem "fakeweb", "~> 1.3.0"
10
+ gem "webmock", "~> 1.6.2"
9
11
  end
@@ -1,9 +1,12 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ addressable (2.2.2)
5
+ crack (0.1.8)
4
6
  diff-lcs (1.1.2)
5
- fakeweb (1.3.0)
6
7
  git (1.2.5)
8
+ httparty (0.6.1)
9
+ crack (= 0.1.8)
7
10
  jeweler (1.5.2)
8
11
  bundler (~> 1.0.0)
9
12
  git (>= 1.2.5)
@@ -18,13 +21,17 @@ GEM
18
21
  rspec-expectations (2.3.0)
19
22
  diff-lcs (~> 1.1.2)
20
23
  rspec-mocks (2.3.0)
24
+ webmock (1.6.2)
25
+ addressable (>= 2.2.2)
26
+ crack (>= 0.1.7)
21
27
 
22
28
  PLATFORMS
23
29
  ruby
24
30
 
25
31
  DEPENDENCIES
26
32
  bundler (~> 1.0.0)
27
- fakeweb (~> 1.3.0)
33
+ httparty (= 0.6.1)
28
34
  jeweler (~> 1.5.2)
29
35
  rcov
30
36
  rspec (~> 2.3.0)
37
+ webmock (~> 1.6.2)
@@ -1,4 +1,4 @@
1
- Copyright 2010 Zigotto®. http://www.zigotto.com.br
1
+ Copyright 2011 Zigotto®. http://www.zigotto.com.br
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -14,6 +14,9 @@ Google URL Shortener API in Ruby
14
14
  url.long_url
15
15
  => "http://www.zigotto.com/"
16
16
 
17
+ url.qr_code
18
+ => "http://goo.gl/ump4S.qr"
19
+
17
20
  === Expand a short URL
18
21
 
19
22
  url = Googl.expand('http://goo.gl/ump4S')
@@ -21,10 +24,30 @@ Google URL Shortener API in Ruby
21
24
  url.long_url
22
25
  => "http://www.zigotto.com/"
23
26
 
27
+ == Authentication
28
+
29
+ The Google URL Shortener API supports the OAuth and ClientLogin mechanisms for authenticating.
30
+
31
+ For shorten requests, each short URL for an authenticated user is unique, and thus will gather unique click statistics. In addition, it shows up on the user's dashboard at http://goo.gl.
32
+
33
+ === ClientLogin
34
+
35
+ client = Googl.client('user@gmail.com', 'my_valid_password')
36
+
37
+ url = client.shorten('https://github.com/zigotto/googl')
38
+ url.short_url
39
+ => http://goo.gl/DWDfi
40
+
41
+ Go to http://goo.gl to see URL statistics.
42
+
43
+ === OAuth
44
+
45
+ TODO
46
+
24
47
  == Installation
25
48
 
26
49
  gem install googl
27
50
 
28
51
  == License
29
52
 
30
- MIT License. Copyright 2010 Zigotto®. http://www.zigotto.com.br
53
+ MIT License. Copyright 2011 Zigotto®. http://www.zigotto.com.br
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{googl}
8
- s.version = "0.1.2"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jesus Lopes"]
12
- s.date = %q{2011-01-11}
12
+ s.date = %q{2011-01-13}
13
13
  s.description = %q{Small library for Google URL Shortener API}
14
14
  s.email = %q{jlopes@zigotto.com.br}
15
15
  s.extra_rdoc_files = [
@@ -24,12 +24,18 @@ Gem::Specification.new do |s|
24
24
  "VERSION",
25
25
  "googl.gemspec",
26
26
  "lib/googl.rb",
27
+ "lib/googl/base.rb",
28
+ "lib/googl/client_login.rb",
27
29
  "lib/googl/expand.rb",
28
30
  "lib/googl/request.rb",
29
31
  "lib/googl/shorten.rb",
32
+ "spec/client_spec.rb",
30
33
  "spec/expand_spec.rb",
34
+ "spec/fixtures/client_login_invalid.json",
35
+ "spec/fixtures/client_login_valid.json",
31
36
  "spec/fixtures/expand.json",
32
37
  "spec/fixtures/shorten.json",
38
+ "spec/fixtures/shorten_authenticated.json",
33
39
  "spec/shorten_spec.rb",
34
40
  "spec/spec_helper.rb"
35
41
  ]
@@ -39,6 +45,7 @@ Gem::Specification.new do |s|
39
45
  s.rubygems_version = %q{1.4.2}
40
46
  s.summary = %q{Wrapper for Google URL Shortener API}
41
47
  s.test_files = [
48
+ "spec/client_spec.rb",
42
49
  "spec/expand_spec.rb",
43
50
  "spec/shorten_spec.rb",
44
51
  "spec/spec_helper.rb"
@@ -48,26 +55,29 @@ Gem::Specification.new do |s|
48
55
  s.specification_version = 3
49
56
 
50
57
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
58
+ s.add_runtime_dependency(%q<httparty>, ["= 0.6.1"])
51
59
  s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
52
60
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
53
61
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
54
62
  s.add_development_dependency(%q<rcov>, [">= 0"])
55
- s.add_development_dependency(%q<fakeweb>, ["~> 1.3.0"])
63
+ s.add_development_dependency(%q<webmock>, ["~> 1.6.2"])
56
64
  s.add_runtime_dependency(%q<httparty>, [">= 0.6.1"])
57
65
  else
66
+ s.add_dependency(%q<httparty>, ["= 0.6.1"])
58
67
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
59
68
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
60
69
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
61
70
  s.add_dependency(%q<rcov>, [">= 0"])
62
- s.add_dependency(%q<fakeweb>, ["~> 1.3.0"])
71
+ s.add_dependency(%q<webmock>, ["~> 1.6.2"])
63
72
  s.add_dependency(%q<httparty>, [">= 0.6.1"])
64
73
  end
65
74
  else
75
+ s.add_dependency(%q<httparty>, ["= 0.6.1"])
66
76
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
67
77
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
68
78
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
69
79
  s.add_dependency(%q<rcov>, [">= 0"])
70
- s.add_dependency(%q<fakeweb>, ["~> 1.3.0"])
80
+ s.add_dependency(%q<webmock>, ["~> 1.6.2"])
71
81
  s.add_dependency(%q<httparty>, [">= 0.6.1"])
72
82
  end
73
83
  end
@@ -1,9 +1,10 @@
1
- require 'rubygems'
2
1
  require 'httparty'
3
2
 
3
+ require 'googl/base'
4
4
  require 'googl/request'
5
5
  require 'googl/shorten'
6
6
  require 'googl/expand'
7
+ require 'googl/client_login'
7
8
 
8
9
  module Googl
9
10
 
@@ -15,4 +16,8 @@ module Googl
15
16
  Googl::Expand.new(url)
16
17
  end
17
18
 
19
+ def self.client(email, passwd)
20
+ Googl::ClientLogin.new(email, passwd)
21
+ end
22
+
18
23
  end
@@ -0,0 +1,13 @@
1
+ module Googl
2
+
3
+ class Base
4
+
5
+ private
6
+
7
+ def modify_headers(item)
8
+ Request.headers.merge!(item)
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -0,0 +1,29 @@
1
+ module Googl
2
+
3
+ class ClientLogin < Base
4
+
5
+ API_URL = "https://www.google.com/accounts/ClientLogin"
6
+
7
+ PARAMS = {'accountType' => 'HOSTED_OR_GOOGLE', 'service' => 'urlshortener', 'source' => 'gem-googl-ruby'}
8
+
9
+ attr_accessor :code
10
+
11
+ def initialize(email, passwd)
12
+ modify_headers('Content-Type' => 'application/x-www-form-urlencoded')
13
+ resp = Request.post(API_URL, :body => PARAMS.merge!('Email' => email, 'Passwd' => passwd))
14
+ @code = resp.code
15
+ if resp.code == 200
16
+ token = resp.split('=').last.gsub(/\n/, '')
17
+ modify_headers("Authorization" => "GoogleLogin auth=#{token}")
18
+ else
19
+ resp.response
20
+ end
21
+ end
22
+
23
+ def shorten(url)
24
+ Googl::Shorten.new(url)
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -2,12 +2,14 @@ module Googl
2
2
 
3
3
  class Expand
4
4
 
5
+ API_URL = "https://www.googleapis.com/urlshortener/v1/url?shortUrl="
6
+
5
7
  attr_accessor :long_url
6
8
 
7
9
  def initialize(short_url)
8
- resp = Request.get("/urlshortener/v1/url?shortUrl=#{short_url}")
10
+ resp = Request.get(API_URL + short_url)
9
11
  if resp.code == 200
10
- self.long_url = resp['longUrl']
12
+ @long_url = resp['longUrl']
11
13
  else
12
14
  resp.response
13
15
  end
@@ -1,6 +1,3 @@
1
1
  class Request
2
2
  include HTTParty
3
- base_uri 'https://www.googleapis.com'
4
- headers 'Content-Type' => 'application/json'
5
- headers "Content-length" => "0"
6
3
  end
@@ -1,20 +1,27 @@
1
1
  module Googl
2
2
 
3
- class Shorten
3
+ class Shorten < Base
4
+
5
+ API_URL = 'https://www.googleapis.com/urlshortener/v1/url'
4
6
 
5
7
  attr_accessor :short_url, :long_url
6
8
 
7
9
  def initialize(long_url)
10
+ modify_headers('Content-Type' => 'application/json')
8
11
  options = {"longUrl" => long_url}.inspect
9
- resp = Request.post('/urlshortener/v1/url', :body => options)
12
+ resp = Request.post(API_URL, :body => options)
10
13
  if resp.code == 200
11
- self.short_url = resp['id']
12
- self.long_url = resp['longUrl']
14
+ @short_url = resp['id']
15
+ @long_url = resp['longUrl']
13
16
  else
14
17
  resp.response
15
18
  end
16
19
  end
17
20
 
21
+ def qr_code
22
+ short_url + ".qr" if !short_url.blank?
23
+ end
24
+
18
25
  end
19
26
 
20
27
  end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe Googl::ClientLogin do
4
+
5
+ before :each do
6
+ fake_urls
7
+ end
8
+
9
+ context "request a new client login" do
10
+
11
+ it { Googl.should respond_to(:client) }
12
+
13
+ context "when valid" do
14
+
15
+ subject { Googl.client('my_user@gmail.com', 'my_valid_password') }
16
+
17
+ describe "#code" do
18
+ it "should return 200" do
19
+ subject.code.should == 200
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+ context "when invalid" do
26
+
27
+ subject { Googl.client('my_invalid_gmail', 'my_invalid_passwod') }
28
+
29
+ describe "#code" do
30
+ it "should return 403" do
31
+ subject.code.should == 403
32
+ end
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+ context "request new shor url" do
40
+
41
+ before :each do
42
+ @client = Googl.client('my_user@gmail.com', 'my_valid_password')
43
+ end
44
+
45
+ it { @client.should respond_to(:shorten) }
46
+
47
+ subject { @client.shorten('http://www.zigotto.net') }
48
+
49
+ describe "#short_url" do
50
+ it "should return a short URL" do
51
+ subject.short_url.start_with?("http://goo.gl/").should be_true
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -0,0 +1,12 @@
1
+ HTTP/1.1 403 Forbidden
2
+ Content-Type: text/plain
3
+ Cache-control: no-cache, no-store
4
+ Pragma: no-cache
5
+ Expires: Mon, 01-Jan-1990 00:00:00 GMT
6
+ Date: Thu, 13 Jan 2011 12:59:18 GMT
7
+ X-Content-Type-Options: nosniff
8
+ X-XSS-Protection: 1; mode=block
9
+ Content-Length: 24
10
+ Server: GSE
11
+
12
+ Error=BadAuthentication
@@ -0,0 +1,14 @@
1
+ HTTP/1.1 200 OK
2
+ Content-Type: text/plain
3
+ Cache-control: no-cache, no-store
4
+ Pragma: no-cache
5
+ Expires: Mon, 01-Jan-1990 00:00:00 GMT
6
+ Date: Thu, 13 Jan 2011 11:47:47 GMT
7
+ X-Content-Type-Options: nosniff
8
+ X-XSS-Protection: 1; mode=block
9
+ Content-Length: 755
10
+ Server: GSE
11
+
12
+ SID=DQAAAKwAAABcU9-c9pgL8tAf6T6oEBT4wFgOskDQE7t_f_ehTKhrlKULwNhUXOlaZgeG8e8dZwfV6Odpzb15CzCSQ
13
+ LSID=DQAAAK4AAAC9oNnhvkDo8-jbQQbWzyvi_sAlt9ZkcmFoKsed7zfbmBs0rurcEL5vuN0DR_0s60v2j9kVf0_2yUVu
14
+ Auth=DQAAAK8AAAC9ahL-o7g
@@ -0,0 +1,18 @@
1
+ HTTP/1.1 200 OK
2
+ ETag: "EEZ1AD443JkEgW3KJFaymzTd26A/41aG_KwuemZSq8rrtXp-EsY0Iuk"
3
+ Cache-Control: no-cache, no-store, max-age=0, must-revalidate
4
+ Pragma: no-cache
5
+ Expires: Fri, 01 Jan 1990 00:00:00 GMT
6
+ Date: Thu, 13 Jan 2011 13:07:26 GMT
7
+ Content-Type: application/json; charset=UTF-8
8
+ X-Content-Type-Options: nosniff
9
+ X-Frame-Options: SAMEORIGIN
10
+ X-XSS-Protection: 1; mode=block
11
+ Server: GSE
12
+ Transfer-Encoding: chunked
13
+
14
+ {
15
+ "kind": "urlshortener#url",
16
+ "id": "http://goo.gl/R3mYj",
17
+ "longUrl": "http://www.zigotto.net/"
18
+ }
@@ -24,6 +24,12 @@ describe Googl::Shorten do
24
24
  end
25
25
  end
26
26
 
27
+ describe "#qr_code" do
28
+ it "should return a url for generate a qr code" do
29
+ subject.qr_code.should == 'http://goo.gl/ump4S.qr'
30
+ end
31
+ end
32
+
27
33
  end
28
34
 
29
35
  end
@@ -1,27 +1,48 @@
1
- require "rubygems"
2
- require "rspec"
3
- require 'fakeweb'
4
-
5
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__)))
6
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
3
 
4
+ require "rubygems"
5
+ require "rspec"
6
+ require 'webmock/rspec'
8
7
  require 'googl'
9
8
 
10
9
  def load_fixture(name)
11
- File.join(File.expand_path(File.dirname(__FILE__)), '/fixtures', name)
10
+ File.new(File.join(File.expand_path(File.dirname(__FILE__)), '/fixtures', name))
12
11
  end
13
12
 
14
13
  def fake_urls
15
14
 
16
- FakeWeb.allow_net_connect = false
17
-
18
15
  # Shorten
19
- url = "https://www.googleapis.com/urlshortener/v1/url"
20
- options = {"longUrl" => "http://www.zigotto.com"}.inspect
21
- FakeWeb.register_uri(:post, url, :response => load_fixture('shorten.json'), :body => options)
16
+ url_shorten = "https://www.googleapis.com/urlshortener/v1/url"
17
+ params = {"longUrl" => "http://www.zigotto.com"}.inspect
18
+ stub_request(:post, url_shorten).
19
+ with(:body => params,
20
+ :headers => {'Content-Type'=>'application/json'}).
21
+ to_return(load_fixture('shorten.json'))
22
22
 
23
23
  # Expand
24
- url = "https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo.gl/7lob"
25
- FakeWeb.register_uri(:get, url, :response => load_fixture('expand.json'))
24
+ url_expand = "https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo.gl/7lob"
25
+ stub_request(:get, url_expand).to_return(load_fixture('expand.json'))
26
+
27
+ # Authentication
28
+ url_login = "https://www.google.com/accounts/ClientLogin"
29
+
30
+ # ClientLogin valid
31
+ params = "Passwd=my_valid_password&service=urlshortener&accountType=HOSTED_OR_GOOGLE&Email=my_user%40gmail.com&source=gem-googl-ruby"
32
+ stub_request(:post, url_login).
33
+ with(:body => params,
34
+ :headers => {'Content-Type'=>'application/x-www-form-urlencoded'}).
35
+ to_return(load_fixture('client_login_valid.json'))
36
+
37
+ # ClientLogin invalid
38
+ params = "Passwd=my_invalid_passwod&service=urlshortener&accountType=HOSTED_OR_GOOGLE&Email=my_invalid_gmail&source=gem-googl-ruby"
39
+ stub_request(:post, url_login).with(:body => params).to_return(load_fixture('client_login_invalid.json'))
40
+
41
+ # Shorten authenticated
42
+ params = {"longUrl" => "http://www.zigotto.net"}.inspect
43
+ stub_request(:post, url_shorten).
44
+ with(:body => params,
45
+ :headers => {'Authorization'=>'GoogleLogin auth=DQAAAK8AAAC9ahL-o7g', 'Content-Type'=>'application/json'}).
46
+ to_return(load_fixture('shorten_authenticated.json'))
26
47
 
27
48
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googl
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
8
  - 2
10
- version: 0.1.2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jesus Lopes
@@ -15,14 +15,30 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-11 00:00:00 -02:00
18
+ date: 2011-01-13 00:00:00 -02:00
19
19
  default_executable:
20
20
  dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: httparty
24
+ type: :runtime
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - "="
29
+ - !ruby/object:Gem::Version
30
+ hash: 5
31
+ segments:
32
+ - 0
33
+ - 6
34
+ - 1
35
+ version: 0.6.1
36
+ requirement: *id001
21
37
  - !ruby/object:Gem::Dependency
22
38
  prerelease: false
23
39
  name: rspec
24
40
  type: :development
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
26
42
  none: false
27
43
  requirements:
28
44
  - - ~>
@@ -33,12 +49,12 @@ dependencies:
33
49
  - 3
34
50
  - 0
35
51
  version: 2.3.0
36
- requirement: *id001
52
+ requirement: *id002
37
53
  - !ruby/object:Gem::Dependency
38
54
  prerelease: false
39
55
  name: bundler
40
56
  type: :development
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
57
+ version_requirements: &id003 !ruby/object:Gem::Requirement
42
58
  none: false
43
59
  requirements:
44
60
  - - ~>
@@ -49,12 +65,12 @@ dependencies:
49
65
  - 0
50
66
  - 0
51
67
  version: 1.0.0
52
- requirement: *id002
68
+ requirement: *id003
53
69
  - !ruby/object:Gem::Dependency
54
70
  prerelease: false
55
71
  name: jeweler
56
72
  type: :development
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
73
+ version_requirements: &id004 !ruby/object:Gem::Requirement
58
74
  none: false
59
75
  requirements:
60
76
  - - ~>
@@ -65,12 +81,12 @@ dependencies:
65
81
  - 5
66
82
  - 2
67
83
  version: 1.5.2
68
- requirement: *id003
84
+ requirement: *id004
69
85
  - !ruby/object:Gem::Dependency
70
86
  prerelease: false
71
87
  name: rcov
72
88
  type: :development
73
- version_requirements: &id004 !ruby/object:Gem::Requirement
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
74
90
  none: false
75
91
  requirements:
76
92
  - - ">="
@@ -79,28 +95,28 @@ dependencies:
79
95
  segments:
80
96
  - 0
81
97
  version: "0"
82
- requirement: *id004
98
+ requirement: *id005
83
99
  - !ruby/object:Gem::Dependency
84
100
  prerelease: false
85
- name: fakeweb
101
+ name: webmock
86
102
  type: :development
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
103
+ version_requirements: &id006 !ruby/object:Gem::Requirement
88
104
  none: false
89
105
  requirements:
90
106
  - - ~>
91
107
  - !ruby/object:Gem::Version
92
- hash: 27
108
+ hash: 11
93
109
  segments:
94
110
  - 1
95
- - 3
96
- - 0
97
- version: 1.3.0
98
- requirement: *id005
111
+ - 6
112
+ - 2
113
+ version: 1.6.2
114
+ requirement: *id006
99
115
  - !ruby/object:Gem::Dependency
100
116
  prerelease: false
101
117
  name: httparty
102
118
  type: :runtime
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
119
+ version_requirements: &id007 !ruby/object:Gem::Requirement
104
120
  none: false
105
121
  requirements:
106
122
  - - ">="
@@ -111,7 +127,7 @@ dependencies:
111
127
  - 6
112
128
  - 1
113
129
  version: 0.6.1
114
- requirement: *id006
130
+ requirement: *id007
115
131
  description: Small library for Google URL Shortener API
116
132
  email: jlopes@zigotto.com.br
117
133
  executables: []
@@ -129,12 +145,18 @@ files:
129
145
  - VERSION
130
146
  - googl.gemspec
131
147
  - lib/googl.rb
148
+ - lib/googl/base.rb
149
+ - lib/googl/client_login.rb
132
150
  - lib/googl/expand.rb
133
151
  - lib/googl/request.rb
134
152
  - lib/googl/shorten.rb
153
+ - spec/client_spec.rb
135
154
  - spec/expand_spec.rb
155
+ - spec/fixtures/client_login_invalid.json
156
+ - spec/fixtures/client_login_valid.json
136
157
  - spec/fixtures/expand.json
137
158
  - spec/fixtures/shorten.json
159
+ - spec/fixtures/shorten_authenticated.json
138
160
  - spec/shorten_spec.rb
139
161
  - spec/spec_helper.rb
140
162
  has_rdoc: true
@@ -172,6 +194,7 @@ signing_key:
172
194
  specification_version: 3
173
195
  summary: Wrapper for Google URL Shortener API
174
196
  test_files:
197
+ - spec/client_spec.rb
175
198
  - spec/expand_spec.rb
176
199
  - spec/shorten_spec.rb
177
200
  - spec/spec_helper.rb