bitly-oauth 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/History.txt +154 -0
  2. data/LICENSE +20 -0
  3. data/README.md +87 -0
  4. data/README.rdoc +35 -0
  5. data/Rakefile +42 -0
  6. data/VERSION +1 -0
  7. data/lib/bitly_oauth.rb +28 -0
  8. data/lib/bitly_oauth/access_token.rb +37 -0
  9. data/lib/bitly_oauth/client.rb +149 -0
  10. data/lib/bitly_oauth/country.rb +10 -0
  11. data/lib/bitly_oauth/day.rb +12 -0
  12. data/lib/bitly_oauth/error.rb +15 -0
  13. data/lib/bitly_oauth/lib/core_ext/hash.rb +27 -0
  14. data/lib/bitly_oauth/lib/core_ext/string.rb +5 -0
  15. data/lib/bitly_oauth/missing_url.rb +12 -0
  16. data/lib/bitly_oauth/realtime_link.rb +16 -0
  17. data/lib/bitly_oauth/referrer.rb +12 -0
  18. data/lib/bitly_oauth/referring_domain.rb +11 -0
  19. data/lib/bitly_oauth/response.rb +39 -0
  20. data/lib/bitly_oauth/url.rb +118 -0
  21. data/lib/bitly_oauth/user.rb +104 -0
  22. data/test/fixtures/9uX1TE.json +1 -0
  23. data/test/fixtures/9uX1TEclicks.json +1 -0
  24. data/test/fixtures/9uX1TEclicks2.json +1 -0
  25. data/test/fixtures/9uX1TEinfo.json +1 -0
  26. data/test/fixtures/9uX1TEinfo2.json +1 -0
  27. data/test/fixtures/auth_fail.json +1 -0
  28. data/test/fixtures/auth_success.json +1 -0
  29. data/test/fixtures/betaworks.json +1 -0
  30. data/test/fixtures/betaworks2.json +1 -0
  31. data/test/fixtures/betaworks_jmp.json +1 -0
  32. data/test/fixtures/betaworks_other_user.json +1 -0
  33. data/test/fixtures/bitly9uX1TE.json +1 -0
  34. data/test/fixtures/bitly_pro_domain.json +1 -0
  35. data/test/fixtures/clicks_by_day.json +1 -0
  36. data/test/fixtures/clicks_by_day1.json +1 -0
  37. data/test/fixtures/clicks_by_day2.json +1 -0
  38. data/test/fixtures/clicks_by_minute1_url.json +1 -0
  39. data/test/fixtures/clicks_by_minute2_url.json +1 -0
  40. data/test/fixtures/clicks_by_minute_hash.json +1 -0
  41. data/test/fixtures/clicks_by_minute_hashes.json +1 -0
  42. data/test/fixtures/country_hash.json +1 -0
  43. data/test/fixtures/country_hash2.json +1 -0
  44. data/test/fixtures/country_url.json +1 -0
  45. data/test/fixtures/failure.json +1 -0
  46. data/test/fixtures/invalid_bitly_pro_domain.json +1 -0
  47. data/test/fixtures/invalid_credentials.json +1 -0
  48. data/test/fixtures/invalid_domain.json +1 -0
  49. data/test/fixtures/invalid_user.json +1 -0
  50. data/test/fixtures/invalid_x_api_key.json +1 -0
  51. data/test/fixtures/lookup_multiple_url.json +1 -0
  52. data/test/fixtures/lookup_not_real_url.json +1 -0
  53. data/test/fixtures/lookup_single_url.json +1 -0
  54. data/test/fixtures/missing_hash.json +1 -0
  55. data/test/fixtures/multiple_info.json +1 -0
  56. data/test/fixtures/multiple_url_click.json +1 -0
  57. data/test/fixtures/multiple_urls.json +1 -0
  58. data/test/fixtures/not_bitly_pro_domain.json +1 -0
  59. data/test/fixtures/not_found_info.json +1 -0
  60. data/test/fixtures/referrer_hash.json +1 -0
  61. data/test/fixtures/referrer_hash2.json +1 -0
  62. data/test/fixtures/referrer_url.json +1 -0
  63. data/test/fixtures/success.json +1 -0
  64. data/test/fixtures/url_info.json +1 -0
  65. data/test/fixtures/user_clicks.json +32 -0
  66. data/test/fixtures/user_countries.json +60 -0
  67. data/test/fixtures/user_realtime_links.json +15 -0
  68. data/test/fixtures/user_referrers.json +1 -0
  69. data/test/fixtures/valid_user.json +1 -0
  70. data/test/integration/strategy/old_test_api_key.rb +20 -0
  71. data/test/integration/test_client.rb +709 -0
  72. data/test/integration/test_user.rb +97 -0
  73. data/test/test_helper.rb +54 -0
  74. data/test/unit/core_ext/test_hash.rb +69 -0
  75. data/test/unit/core_ext/test_string.rb +14 -0
  76. data/test/unit/test_bitly_oauth.rb +19 -0
  77. data/test/unit/test_client.rb +87 -0
  78. data/test/unit/test_country.rb +19 -0
  79. data/test/unit/test_day.rb +22 -0
  80. data/test/unit/test_error.rb +11 -0
  81. data/test/unit/test_missing.rb +34 -0
  82. data/test/unit/test_realtime_link.rb +30 -0
  83. data/test/unit/test_referrer.rb +19 -0
  84. data/test/unit/test_referring_domain.rb +21 -0
  85. data/test/unit/test_response.rb +86 -0
  86. data/test/unit/test_url.rb +156 -0
  87. data/test/unit/test_user.rb +17 -0
  88. metadata +215 -0
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class TestReferrer < Test::Unit::TestCase
4
+ context "a referrer" do
5
+ setup do
6
+ @referrer = BitlyOAuth::Referrer.new
7
+ end
8
+
9
+ [:clicks, :referrer, :referrer_app, :url].each do |method|
10
+ should "respond to #{method}" do
11
+ assert_respond_to @referrer, method
12
+ end
13
+ should "set #{method} when initializing" do
14
+ referrer = BitlyOAuth::Referrer.new(method.to_s => 'test')
15
+ assert_equal 'test', referrer.send(method)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class TestReferringDomain < Test::Unit::TestCase
4
+ context "a referring domain" do
5
+ setup do
6
+ @referring_domain = BitlyOAuth::ReferringDomain.new
7
+ end
8
+
9
+ [:clicks, :domain].each do |method|
10
+ should "respond to #{method}" do
11
+ assert_respond_to @referring_domain, method
12
+ end
13
+
14
+ should "set #{method} when initializing" do
15
+ referrer = BitlyOAuth::ReferringDomain.new(method.to_s => 'test')
16
+ assert_equal 'test', referrer.send(method)
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,86 @@
1
+ require 'test_helper'
2
+
3
+ class TestResponse < Test::Unit::TestCase
4
+ context "with a unsupported response" do
5
+ should "raise an error" do
6
+ assert_raises RuntimeError, "Unsupported Response type: Object" do
7
+ BitlyOAuth::Response.new(Object.new).success?
8
+ end
9
+ end
10
+ end
11
+ context "with an oauth response" do
12
+ setup do
13
+ OAuth2::Response.stubs(:=== => true)
14
+ end
15
+ should "return true" do
16
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_code' => 200}))
17
+ assert_equal true, response.success?
18
+ end
19
+ should "return false" do
20
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_code' => 'not 200'}))
21
+ assert_equal false, response.success?
22
+ end
23
+ should "return the status code" do
24
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_code' => 'some status code'}))
25
+ assert_equal 'some status code', response.status,
26
+ end
27
+ should "return the response body" do
28
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => { 'data' => {} } ))
29
+ assert_equal Hash.new, response.body
30
+ end
31
+ should "return the response body" do
32
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'data' => nil}))
33
+ assert_equal nil, response.body
34
+ end
35
+ should "return the status text reason" do
36
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_txt' => "OK"}))
37
+ assert_equal "OK", response.reason
38
+ end
39
+ should "return the status text reason" do
40
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_txt' => "RATE_LIMIT_EXCEEDED"}))
41
+ assert_equal "Rate Limit Exceeded", response.reason
42
+ end
43
+ should "return the status text reason" do
44
+ response = BitlyOAuth::Response.new(stub('oauth', :parsed => {'status_txt' => "INVALID_ANYTHING"}))
45
+ assert_equal "Invalid Anything", response.reason
46
+ end
47
+ end
48
+
49
+ context "with a HTTParty response" do
50
+ setup do
51
+ HTTParty::Response.stubs(:=== => true)
52
+ end
53
+ should "return true" do
54
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_code' => 200 } ))
55
+ assert_equal true, response.success?
56
+ end
57
+ should "return false" do
58
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_code' => 'not 200' }))
59
+ assert_equal false, response.success?
60
+ end
61
+ should "return the status code" do
62
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_code' => 'some status code' }))
63
+ assert_equal 'some status code', response.status,
64
+ end
65
+ should "return the response body" do
66
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'data' => {} } ))
67
+ assert_equal Hash.new, response.body
68
+ end
69
+ should "return the response body" do
70
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'data' => nil }))
71
+ assert_equal nil, response.body
72
+ end
73
+ should "return the status text reason" do
74
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_txt' => "OK" }))
75
+ assert_equal "OK", response.reason
76
+ end
77
+ should "return the status text reason" do
78
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_txt' => "RATE_LIMIT_EXCEEDED" }))
79
+ assert_equal "Rate Limit Exceeded", response.reason
80
+ end
81
+ should "return the status text reason" do
82
+ response = BitlyOAuth::Response.new(stub(:parsed_response => { 'status_txt' => "INVALID_ANYTHING" }))
83
+ assert_equal "Invalid Anything", response.reason
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,156 @@
1
+ require 'test_helper'
2
+
3
+ class TestUrl < Test::Unit::TestCase
4
+ context "with a client" do
5
+ setup do
6
+ @client = BitlyOAuth.new('client_id', 'client_secret')
7
+ @client.set_access_token_from_token('token')
8
+ end
9
+ context "and a url" do
10
+ setup do
11
+ @url = BitlyOAuth::Url.new(@client)
12
+ end
13
+ [:short_url,
14
+ :long_url,
15
+ :user_hash,
16
+ :global_hash,
17
+ :user_clicks,
18
+ :global_clicks,
19
+ :new_hash?,
20
+ :title,
21
+ :created_by,
22
+ :referrers,
23
+ :countries,
24
+ :clicks_by_minute,
25
+ :clicks_by_day].each do |method|
26
+ should "respond to #{method}" do
27
+ assert_respond_to @url, method
28
+ end
29
+ end
30
+ end
31
+
32
+ context "and an expanded url" do
33
+ context "getting click data" do
34
+ setup do
35
+ stub_get("https://api-ssl.bit.ly/v3/clicks?access_token=token&hash=9uX1TE", ['9uX1TEclicks.json', '9uX1TEclicks2.json'])
36
+ @url = BitlyOAuth::Url.new(@client, 'hash' => '9uX1TE')
37
+ end
38
+ should "get clicks when global clicks is called" do
39
+ assert_equal 81, @url.global_clicks
40
+ end
41
+ should "get clicks when user clicks is called" do
42
+ assert_equal 0, @url.user_clicks
43
+ end
44
+ should "get global clicks the first time and only update when forced" do
45
+ assert_equal 81, @url.global_clicks
46
+ assert_equal 81, @url.global_clicks
47
+ assert_equal 82, @url.global_clicks(:force => true)
48
+ end
49
+ should "get user clicks the first time and only update when forced" do
50
+ assert_equal 0, @url.user_clicks
51
+ assert_equal 0, @url.user_clicks
52
+ assert_equal 1, @url.user_clicks(:force => true)
53
+ end
54
+ end
55
+ context "getting info" do
56
+ setup do
57
+ stub_get("https://api-ssl.bit.ly/v3/info?hash=9uX1TE&access_token=token", ['9uX1TEinfo.json', '9uX1TEinfo2.json'])
58
+ @url = BitlyOAuth::Url.new(@client, 'hash' => '9uX1TE')
59
+ end
60
+ should "get info when title is called" do
61
+ assert_equal "A title", @url.title
62
+ end
63
+ should "get info when created_by is called" do
64
+ assert_equal 'philnash', @url.created_by
65
+ end
66
+ should "get title the first time and only update when forced" do
67
+ assert_equal "A title", @url.title
68
+ assert_equal "A title", @url.title
69
+ assert_equal "A New Title", @url.title(:force => true)
70
+ end
71
+ should "get the creator the first time and only update when forced" do
72
+ assert_equal 'philnash', @url.created_by
73
+ assert_equal 'philnash', @url.created_by
74
+ # updating just to prove it works, creator is unlikely to change
75
+ assert_equal 'philnash2', @url.created_by(:force => true)
76
+ end
77
+ context "steps to prevent an infinite loop" do
78
+ should "doesn't get info if the title is an empty string" do
79
+ @url = BitlyOAuth::Url.new(@client, 'hash' => '9uX1TE', 'title' => '')
80
+ assert_equal "", @url.title
81
+ end
82
+ should "doesn't get info if the title is explicitly set to nil" do
83
+ @url = BitlyOAuth::Url.new(@client, 'hash' => '9uX1TE', 'title' => nil)
84
+ assert_equal "", @url.title
85
+ end
86
+ end
87
+ end
88
+ context "getting referrers" do
89
+ setup do
90
+ stub_get("https://api-ssl.bit.ly/v3/referrers?access_token=token&hash=djZ9g4", ['referrer_hash.json', 'referrer_hash2.json'])
91
+ @url = BitlyOAuth::Url.new(@client, 'hash' => 'djZ9g4')
92
+ end
93
+ should 'get referrers when called' do
94
+ assert_instance_of Array, @url.referrers
95
+ assert_instance_of BitlyOAuth::Referrer, @url.referrers.first
96
+ assert_equal 'direct', @url.referrers.first.referrer
97
+ assert_equal 62, @url.referrers.first.clicks
98
+ end
99
+ should 'force update when told to' do
100
+ assert_equal 62, @url.referrers.first.clicks
101
+ assert_equal 62, @url.referrers.first.clicks
102
+ assert_equal 63, @url.referrers(:force => true).first.clicks
103
+ end
104
+ end
105
+ context "getting countries" do
106
+ setup do
107
+ stub_get("https://api-ssl.bit.ly/v3/countries?hash=djZ9g4&access_token=token", ['country_hash.json', 'country_hash2.json'])
108
+ @url = BitlyOAuth::Url.new(@client, 'hash' => 'djZ9g4')
109
+ end
110
+ should 'get countries when called' do
111
+ assert_instance_of Array, @url.countries
112
+ assert_instance_of BitlyOAuth::Country, @url.countries.first
113
+ assert_equal 'US', @url.countries.first.country
114
+ assert_equal 58, @url.countries.first.clicks
115
+ end
116
+ should 'force update when told to' do
117
+ assert_equal 58, @url.countries.first.clicks
118
+ assert_equal 58, @url.countries.first.clicks
119
+ assert_equal 59, @url.countries(:force => true).first.clicks
120
+ end
121
+ end
122
+ context "getting clicks by minute" do
123
+ setup do
124
+ @short_url = "http://j.mp/9DguyN"
125
+ stub_get("https://api-ssl.bit.ly/v3/clicks_by_minute?shortUrl=#{CGI.escape(@short_url)}&access_token=token", ['clicks_by_minute1_url.json', 'clicks_by_minute2_url.json'])
126
+ @url = BitlyOAuth::Url.new(@client, 'short_url' => @short_url)
127
+ end
128
+ should 'get clicks_by_minute when called' do
129
+ assert_instance_of Array, @url.clicks_by_minute
130
+ assert_equal 0, @url.clicks_by_minute[0]
131
+ end
132
+ should 'force update when told to' do
133
+ assert_equal 0, @url.clicks_by_minute[2]
134
+ assert_equal 0, @url.clicks_by_minute[2]
135
+ assert_equal 1, @url.clicks_by_minute(:force => true)[2]
136
+ end
137
+ end
138
+ context "getting clicks by day" do
139
+ setup do
140
+ @hash = "9DguyN"
141
+ stub_get("https://api-ssl.bit.ly/v3/clicks_by_day?hash=#{@hash}&access_token=token", ['clicks_by_day1.json', 'clicks_by_day2.json'])
142
+ @url = BitlyOAuth::Url.new(@client, 'hash' => @hash)
143
+ end
144
+ should 'get clicks_by_day when called' do
145
+ assert_instance_of Array, @url.clicks_by_day
146
+ assert_instance_of BitlyOAuth::Day, @url.clicks_by_day[0]
147
+ end
148
+ should 'force update when told to' do
149
+ assert_equal 1, @url.clicks_by_day[0].clicks
150
+ assert_equal 1, @url.clicks_by_day[0].clicks
151
+ assert_equal 2, @url.clicks_by_day(:force => true)[0].clicks
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ class TestUser < Test::Unit::TestCase
4
+ context "with an access_token" do
5
+ setup do
6
+ client = BitlyOAuth::Client.new('client_id', 'client_secret')
7
+ access_token = client.get_access_token_from_token('token')
8
+ @user = BitlyOAuth::User.new(access_token)
9
+ end
10
+
11
+ context 'the user' do
12
+ should 'get a client' do
13
+ assert_kind_of BitlyOAuth::Client, @user.client
14
+ end
15
+ end
16
+ end
17
+ end
metadata ADDED
@@ -0,0 +1,215 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bitly-oauth
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - jonstorer
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &70324210549840 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.7.6
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70324210549840
25
+ - !ruby/object:Gem::Dependency
26
+ name: oauth2
27
+ requirement: &70324210549300 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 0.1.1
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70324210549300
36
+ - !ruby/object:Gem::Dependency
37
+ name: shoulda
38
+ requirement: &70324210548740 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70324210548740
47
+ - !ruby/object:Gem::Dependency
48
+ name: jeweler
49
+ requirement: &70324210548180 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.4.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70324210548180
58
+ - !ruby/object:Gem::Dependency
59
+ name: rcov
60
+ requirement: &70324210547460 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70324210547460
69
+ - !ruby/object:Gem::Dependency
70
+ name: mocha
71
+ requirement: &70324210545740 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 0.10.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70324210545740
80
+ - !ruby/object:Gem::Dependency
81
+ name: fakeweb
82
+ requirement: &70324210545260 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 1.2.8
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70324210545260
91
+ description: ! 'A ruby wrapper for version 3 of the bit.ly API
92
+
93
+ Supports OAuth authentication
94
+
95
+ '
96
+ email: jonathon.scott.storer@gmail.com
97
+ executables: []
98
+ extensions: []
99
+ extra_rdoc_files:
100
+ - LICENSE
101
+ - README.md
102
+ - README.rdoc
103
+ files:
104
+ - History.txt
105
+ - LICENSE
106
+ - README.md
107
+ - README.rdoc
108
+ - Rakefile
109
+ - VERSION
110
+ - lib/bitly_oauth.rb
111
+ - lib/bitly_oauth/access_token.rb
112
+ - lib/bitly_oauth/client.rb
113
+ - lib/bitly_oauth/country.rb
114
+ - lib/bitly_oauth/day.rb
115
+ - lib/bitly_oauth/error.rb
116
+ - lib/bitly_oauth/lib/core_ext/hash.rb
117
+ - lib/bitly_oauth/lib/core_ext/string.rb
118
+ - lib/bitly_oauth/missing_url.rb
119
+ - lib/bitly_oauth/realtime_link.rb
120
+ - lib/bitly_oauth/referrer.rb
121
+ - lib/bitly_oauth/referring_domain.rb
122
+ - lib/bitly_oauth/response.rb
123
+ - lib/bitly_oauth/url.rb
124
+ - lib/bitly_oauth/user.rb
125
+ - test/fixtures/9uX1TE.json
126
+ - test/fixtures/9uX1TEclicks.json
127
+ - test/fixtures/9uX1TEclicks2.json
128
+ - test/fixtures/9uX1TEinfo.json
129
+ - test/fixtures/9uX1TEinfo2.json
130
+ - test/fixtures/auth_fail.json
131
+ - test/fixtures/auth_success.json
132
+ - test/fixtures/betaworks.json
133
+ - test/fixtures/betaworks2.json
134
+ - test/fixtures/betaworks_jmp.json
135
+ - test/fixtures/betaworks_other_user.json
136
+ - test/fixtures/bitly9uX1TE.json
137
+ - test/fixtures/bitly_pro_domain.json
138
+ - test/fixtures/clicks_by_day.json
139
+ - test/fixtures/clicks_by_day1.json
140
+ - test/fixtures/clicks_by_day2.json
141
+ - test/fixtures/clicks_by_minute1_url.json
142
+ - test/fixtures/clicks_by_minute2_url.json
143
+ - test/fixtures/clicks_by_minute_hash.json
144
+ - test/fixtures/clicks_by_minute_hashes.json
145
+ - test/fixtures/country_hash.json
146
+ - test/fixtures/country_hash2.json
147
+ - test/fixtures/country_url.json
148
+ - test/fixtures/failure.json
149
+ - test/fixtures/invalid_bitly_pro_domain.json
150
+ - test/fixtures/invalid_credentials.json
151
+ - test/fixtures/invalid_domain.json
152
+ - test/fixtures/invalid_user.json
153
+ - test/fixtures/invalid_x_api_key.json
154
+ - test/fixtures/lookup_multiple_url.json
155
+ - test/fixtures/lookup_not_real_url.json
156
+ - test/fixtures/lookup_single_url.json
157
+ - test/fixtures/missing_hash.json
158
+ - test/fixtures/multiple_info.json
159
+ - test/fixtures/multiple_url_click.json
160
+ - test/fixtures/multiple_urls.json
161
+ - test/fixtures/not_bitly_pro_domain.json
162
+ - test/fixtures/not_found_info.json
163
+ - test/fixtures/referrer_hash.json
164
+ - test/fixtures/referrer_hash2.json
165
+ - test/fixtures/referrer_url.json
166
+ - test/fixtures/success.json
167
+ - test/fixtures/url_info.json
168
+ - test/fixtures/user_clicks.json
169
+ - test/fixtures/user_countries.json
170
+ - test/fixtures/user_realtime_links.json
171
+ - test/fixtures/user_referrers.json
172
+ - test/fixtures/valid_user.json
173
+ - test/integration/strategy/old_test_api_key.rb
174
+ - test/integration/test_client.rb
175
+ - test/integration/test_user.rb
176
+ - test/test_helper.rb
177
+ - test/unit/core_ext/test_hash.rb
178
+ - test/unit/core_ext/test_string.rb
179
+ - test/unit/test_bitly_oauth.rb
180
+ - test/unit/test_client.rb
181
+ - test/unit/test_country.rb
182
+ - test/unit/test_day.rb
183
+ - test/unit/test_error.rb
184
+ - test/unit/test_missing.rb
185
+ - test/unit/test_realtime_link.rb
186
+ - test/unit/test_referrer.rb
187
+ - test/unit/test_referring_domain.rb
188
+ - test/unit/test_response.rb
189
+ - test/unit/test_url.rb
190
+ - test/unit/test_user.rb
191
+ homepage: http://github.com/jonstorer/bitly-oauth
192
+ licenses: []
193
+ post_install_message:
194
+ rdoc_options: []
195
+ require_paths:
196
+ - lib
197
+ required_ruby_version: !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ requirements: []
210
+ rubyforge_project:
211
+ rubygems_version: 1.8.10
212
+ signing_key:
213
+ specification_version: 3
214
+ summary: A ruby wrapper for the bit.ly API
215
+ test_files: []