bitly 0.3.2 → 0.4.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/History.txt +6 -0
- data/README.txt +3 -1
- data/Rakefile +1 -7
- data/bitly.gemspec +2 -2
- data/lib/bitly/client.rb +2 -32
- data/lib/bitly/url.rb +7 -0
- data/lib/bitly/utils.rb +1 -1
- data/lib/bitly/version.rb +1 -1
- data/test/bitly/test_client.rb +31 -3
- data/test/bitly/test_url.rb +5 -0
- data/test/bitly/test_utils.rb +4 -1
- metadata +2 -2
data/History.txt
CHANGED
data/README.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== DESCRIPTION:
|
4
4
|
|
5
|
-
A Ruby API for bit.ly
|
5
|
+
A Ruby API for http://bit.ly (and now http://j.mp)
|
6
6
|
|
7
7
|
http://code.google.com/p/bitly-api/wiki/ApiDocumentation
|
8
8
|
|
@@ -32,6 +32,8 @@ u = bitly.shorten('http://www.google.com') #=> Bitly::Url
|
|
32
32
|
|
33
33
|
u.long_url #=> "http://www.google.com"
|
34
34
|
u.short_url #=> "http://bit.ly/Ywd1"
|
35
|
+
u.bitly_url #=> "http://bit.ly/Ywd1"
|
36
|
+
u.jmp_url #=> "http://j.mp/Ywd1"
|
35
37
|
u.user_hash #=> "Ywd1"
|
36
38
|
u.hash #=> "2V6CFi"
|
37
39
|
u.info #=> a ruby hash of the JSON returned from the API
|
data/Rakefile
CHANGED
@@ -1,12 +1,8 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
1
|
require 'rubygems'
|
4
2
|
require 'rake'
|
5
3
|
require 'echoe'
|
6
4
|
require './lib/bitly.rb'
|
7
5
|
|
8
|
-
# modified by coryosborn to remove native JSON dependency
|
9
|
-
|
10
6
|
Echoe.new('bitly', Bitly::VERSION) do |p|
|
11
7
|
p.description = "Use the bit.ly API to shorten or expand URLs"
|
12
8
|
p.url = "http://github.com/philnash/bitly"
|
@@ -14,6 +10,4 @@ Echoe.new('bitly', Bitly::VERSION) do |p|
|
|
14
10
|
p.email = "philnash@gmail.com"
|
15
11
|
p.extra_deps = [['crack', '>= 0.1.1']]
|
16
12
|
p.development_dependencies = []
|
17
|
-
end
|
18
|
-
|
19
|
-
# vim: syntax=Ruby
|
13
|
+
end
|
data/bitly.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{bitly}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.4.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Phil Nash"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-12-19}
|
10
10
|
s.description = %q{Use the bit.ly API to shorten or expand URLs}
|
11
11
|
s.email = %q{philnash@gmail.com}
|
12
12
|
s.extra_rdoc_files = ["lib/bitly/client.rb", "lib/bitly/url.rb", "lib/bitly/utils.rb", "lib/bitly/version.rb", "lib/bitly.rb", "README.txt"]
|
data/lib/bitly/client.rb
CHANGED
@@ -40,7 +40,7 @@ module Bitly
|
|
40
40
|
|
41
41
|
def expand(input)
|
42
42
|
if input.is_a? String
|
43
|
-
if input.include?
|
43
|
+
if input.include?('bit.ly/') || input.include?('j.mp/')
|
44
44
|
hash = create_hash_from_url(input)
|
45
45
|
request = create_url "expand", :hash => hash
|
46
46
|
result = get_result(request)
|
@@ -117,34 +117,4 @@ class BitlyError < StandardError
|
|
117
117
|
@code = code
|
118
118
|
super("#{msg} - '#{code}'")
|
119
119
|
end
|
120
|
-
end
|
121
|
-
|
122
|
-
|
123
|
-
# How it should work
|
124
|
-
# ==================
|
125
|
-
# bitly = Bitly::Base.new('philnash','R_7776acc394294b2b0ad2c261a91c483d')
|
126
|
-
# bitly.shorten("http://www.google.com")
|
127
|
-
# #=> Bitly::Url
|
128
|
-
# bitly.shorten(["http://www.google.com","http://cnn.com"])
|
129
|
-
# #=> [Bitly::Url,Bitly::Url]
|
130
|
-
#
|
131
|
-
# bitly.expand("http://bit.ly/wIRm")
|
132
|
-
# #=> Bitly::Url
|
133
|
-
# bitly.expand("wIRm")
|
134
|
-
# #=> Bitly::Url
|
135
|
-
# bitly.expand(["wIRm","sdfsd"])
|
136
|
-
# #=> [Bitly::Url,Bitly::Url]
|
137
|
-
#
|
138
|
-
# bitly.info("http://bit.ly/wIRm") || bitly.info("wIRm")
|
139
|
-
# #=> b = Bitly::Url
|
140
|
-
# #=> b.info #=> hash of data back from info
|
141
|
-
# bitly.info(['wIRm','qsads'])
|
142
|
-
# #=> [Bitly::Url, Bitly::Url]
|
143
|
-
# also, with any url = Bitly::Url
|
144
|
-
# url.info #=> hash of info data
|
145
|
-
|
146
|
-
# bitly.stats("http://bit.ly/wIRm") || bitly.stats("wIRm")
|
147
|
-
# #=> b = Bitly::Url
|
148
|
-
# #=> b.stats #=> hash of stats
|
149
|
-
# also, any url = Bitly::Url
|
150
|
-
# url.stats #=> hash of stats
|
120
|
+
end
|
data/lib/bitly/url.rb
CHANGED
data/lib/bitly/utils.rb
CHANGED
data/lib/bitly/version.rb
CHANGED
data/test/bitly/test_client.rb
CHANGED
@@ -23,6 +23,10 @@ class TestClient < Test::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
should "return a short bitly url" do
|
25
25
|
assert_equal "http://bit.ly/15DlK", @url.short_url
|
26
|
+
assert_equal "http://bit.ly/15DlK", @url.bitly_url
|
27
|
+
end
|
28
|
+
should "return a short jmp url" do
|
29
|
+
assert_equal "http://j.mp/15DlK", @url.jmp_url
|
26
30
|
end
|
27
31
|
should "save the long url" do
|
28
32
|
assert_equal "http://cnn.com", @url.long_url
|
@@ -73,7 +77,7 @@ class TestClient < Test::Unit::TestCase
|
|
73
77
|
assert_equal "http://bit.ly/31IqMl", @url.short_url
|
74
78
|
end
|
75
79
|
end
|
76
|
-
context "a short url" do
|
80
|
+
context "a short bitly url" do
|
77
81
|
setup do
|
78
82
|
stub_get(/^http:\/\/api.bit.ly\/expand\?.*hash=31IqMl.*$/,"expand_cnn.json")
|
79
83
|
@url = @bitly.expand("http://bit.ly/31IqMl")
|
@@ -87,8 +91,32 @@ class TestClient < Test::Unit::TestCase
|
|
87
91
|
should "save the hash" do
|
88
92
|
assert_equal "31IqMl", @url.hash
|
89
93
|
end
|
90
|
-
should "save the
|
91
|
-
assert_equal "http://bit.ly/31IqMl", @url.
|
94
|
+
should "save the bitly url" do
|
95
|
+
assert_equal "http://bit.ly/31IqMl", @url.bitly_url
|
96
|
+
end
|
97
|
+
should "save a jmp url" do
|
98
|
+
assert_equal "http://j.mp/31IqMl", @url.jmp_url
|
99
|
+
end
|
100
|
+
end
|
101
|
+
context "a short jmp url" do
|
102
|
+
setup do
|
103
|
+
stub_get(/^http:\/\/api.bit.ly\/expand\?.*hash=31IqMl.*$/,"expand_cnn.json")
|
104
|
+
@url = @bitly.expand("http://j.mp/31IqMl")
|
105
|
+
end
|
106
|
+
should "return a Bitly::Url" do
|
107
|
+
assert_kind_of Bitly::Url, @url
|
108
|
+
end
|
109
|
+
should "return the expanded url" do
|
110
|
+
assert_equal "http://cnn.com/", @url.long_url
|
111
|
+
end
|
112
|
+
should "save the hash" do
|
113
|
+
assert_equal "31IqMl", @url.hash
|
114
|
+
end
|
115
|
+
should "save the bitly url" do
|
116
|
+
assert_equal "http://bit.ly/31IqMl", @url.bitly_url
|
117
|
+
end
|
118
|
+
should "save a jmp url" do
|
119
|
+
assert_equal "http://j.mp/31IqMl", @url.jmp_url
|
92
120
|
end
|
93
121
|
end
|
94
122
|
context "multiple hashes" do
|
data/test/bitly/test_url.rb
CHANGED
@@ -22,6 +22,11 @@ class TestUrl < Test::Unit::TestCase
|
|
22
22
|
should "return a short url" do
|
23
23
|
assert_equal "http://bit.ly/15DlK", @url.shorten
|
24
24
|
end
|
25
|
+
should "create bitly and jmp urls" do
|
26
|
+
@url.shorten
|
27
|
+
assert_equal "http://bit.ly/15DlK", @url.bitly_url
|
28
|
+
assert_equal "http://j.mp/15DlK", @url.jmp_url
|
29
|
+
end
|
25
30
|
end
|
26
31
|
context "with no long url" do
|
27
32
|
setup do
|
data/test/bitly/test_utils.rb
CHANGED
@@ -8,9 +8,12 @@ class TestUtils < Test::Unit::TestCase
|
|
8
8
|
should "underscore a word" do
|
9
9
|
assert_equal "hello_world", underscore("HelloWorld")
|
10
10
|
end
|
11
|
-
should "create a hash from a
|
11
|
+
should "create a hash from a bitly url" do
|
12
12
|
assert_equal "hello", create_hash_from_url("http://bit.ly/hello")
|
13
13
|
end
|
14
|
+
should "create a hash from a jmp url" do
|
15
|
+
assert_equal "hello", create_hash_from_url("http://j.mp/hello")
|
16
|
+
end
|
14
17
|
end
|
15
18
|
|
16
19
|
context "class utils" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phil Nash
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-19 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|