shorturl 0.7.0 → 0.8.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/ChangeLog +3 -0
- data/README +11 -1
- data/bin/shorturl +22 -20
- data/doc/classes/Service.html +8 -4
- data/doc/classes/ShortURL.html +12 -12
- data/doc/created.rid +1 -1
- data/doc/files/ChangeLog.html +8 -1
- data/doc/files/README.html +13 -2
- data/doc/files/lib/shorturl_rb.html +1 -1
- data/lib/shorturl.rb +5 -1
- metadata +2 -2
data/ChangeLog
CHANGED
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= ShortURL 0.
|
1
|
+
= ShortURL 0.8.0
|
2
2
|
|
3
3
|
== Summary
|
4
4
|
ShortURL is a very simple library to use URL shortening services such as
|
@@ -33,6 +33,7 @@ Here is the list of the services supported by ShortURL:
|
|
33
33
|
* http://0rz.net
|
34
34
|
|
35
35
|
== Usage:
|
36
|
+
|
36
37
|
call-seq:
|
37
38
|
require "shorturl"
|
38
39
|
puts ShortURL.shorten("http://mypage.com")
|
@@ -63,6 +64,15 @@ You can use <tt>ShortURL.valid_services</tt> to obtain a
|
|
63
64
|
list of the valid services (in case I forget to update the
|
64
65
|
documentation)
|
65
66
|
|
67
|
+
You can also use the small script in bin/ which can be used from the
|
68
|
+
command line:
|
69
|
+
call-seq:
|
70
|
+
$ shorturl www.google.com
|
71
|
+
http://rubyurl.com/fuuUw
|
72
|
+
$ shorturl -s tinyurl www.google.com
|
73
|
+
http://tinyurl.com/1c2
|
74
|
+
$
|
75
|
+
|
66
76
|
== Thanks
|
67
77
|
- Marcel Molina Jr., Devin Mullins for some ideas
|
68
78
|
- imperator from #ruby-lang (I don't know your real name, sorry) for
|
data/bin/shorturl
CHANGED
@@ -2,35 +2,37 @@
|
|
2
2
|
|
3
3
|
require "rubygems"
|
4
4
|
require "shorturl"
|
5
|
+
require "optparse"
|
5
6
|
|
6
|
-
def
|
7
|
-
|
8
|
-
puts "Available services:"
|
9
|
-
ShortURL.valid_services.each { |s| puts "\t#{s}" }
|
10
|
-
exit(-1)
|
7
|
+
def service_list
|
8
|
+
ShortURL.valid_services.map { |s| s.to_s }.sort.join("\n\t")
|
11
9
|
end
|
12
10
|
|
13
11
|
def main
|
14
|
-
|
15
|
-
|
12
|
+
service = :rubyurl
|
13
|
+
op = OptionParser.new do |opts|
|
14
|
+
opts.banner = "Usage: #{File.basename($0)} [<options>] <url>"
|
15
|
+
opts.on("-h", "--help", "Displays help") { puts opts; exit }
|
16
|
+
opts.on("-s", "--service <service>", String,
|
17
|
+
"Uses <service> instead of RubyURL
|
18
|
+
Available services:\n\t" + service_list) { |s| service = s.to_sym }
|
19
|
+
opts.parse!
|
16
20
|
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
if ARGV.empty?
|
23
|
+
puts op
|
24
|
+
exit(-1)
|
25
|
+
end
|
26
|
+
|
27
|
+
url = ARGV.shift
|
28
|
+
shorturl = if ShortURL.valid_services.include?(service)
|
29
|
+
ShortURL.shorten(url, service)
|
23
30
|
else
|
24
|
-
|
25
|
-
|
26
|
-
else
|
27
|
-
puts "Invalid service"
|
28
|
-
exit(-1)
|
29
|
-
end
|
31
|
+
puts "Invalid service"
|
32
|
+
exit(-1)
|
30
33
|
end
|
31
34
|
|
32
|
-
puts shorturl
|
33
|
-
|
35
|
+
puts shorturl || "Unable to get shortened URL. Maybe the URL is already too short?"
|
34
36
|
end
|
35
37
|
|
36
38
|
main
|
data/doc/classes/Service.html
CHANGED
@@ -214,10 +214,14 @@ Now that our service is set up, call it with all the parameters to
|
|
214
214
|
41: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:get</span><span class="ruby-operator">:</span> <span class="ruby-identifier">http</span>.<span class="ruby-identifier">get</span>(<span class="ruby-node">"#{@action}?#{@field}=#{CGI.escape(url)}"</span>)
|
215
215
|
42: <span class="ruby-keyword kw">end</span>
|
216
216
|
43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@code</span>.<span class="ruby-identifier">to_s</span>
|
217
|
-
44: <span class="ruby-
|
218
|
-
45:
|
219
|
-
46:
|
220
|
-
47:
|
217
|
+
44: <span class="ruby-keyword kw">begin</span>
|
218
|
+
45: <span class="ruby-ivar">@block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">read_body</span>)
|
219
|
+
46: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">NoMethodError</span>
|
220
|
+
47: <span class="ruby-keyword kw">nil</span>
|
221
|
+
48: <span class="ruby-keyword kw">end</span>
|
222
|
+
49: <span class="ruby-keyword kw">end</span>
|
223
|
+
50: }
|
224
|
+
51: <span class="ruby-keyword kw">end</span>
|
221
225
|
</pre>
|
222
226
|
</div>
|
223
227
|
</div>
|
data/doc/classes/ShortURL.html
CHANGED
@@ -195,14 +195,14 @@ call-seq:
|
|
195
195
|
onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
|
196
196
|
<div class="method-source-code" id="M000002-source">
|
197
197
|
<pre>
|
198
|
-
<span class="ruby-comment cmt"># File lib/shorturl.rb, line
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
198
|
+
<span class="ruby-comment cmt"># File lib/shorturl.rb, line 201</span>
|
199
|
+
201: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">shorten</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">service</span> = <span class="ruby-identifier">:rubyurl</span>)
|
200
|
+
202: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">valid_services</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">service</span>
|
201
|
+
203: <span class="ruby-ivar">@@services</span>[<span class="ruby-identifier">service</span>].<span class="ruby-identifier">call</span>(<span class="ruby-identifier">url</span>)
|
202
|
+
204: <span class="ruby-keyword kw">else</span>
|
203
|
+
205: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidService</span>
|
204
|
+
206: <span class="ruby-keyword kw">end</span>
|
205
|
+
207: <span class="ruby-keyword kw">end</span>
|
206
206
|
</pre>
|
207
207
|
</div>
|
208
208
|
</div>
|
@@ -225,10 +225,10 @@ Returns @@<a href="ShortURL.html#M000001">valid_services</a>
|
|
225
225
|
onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
|
226
226
|
<div class="method-source-code" id="M000001-source">
|
227
227
|
<pre>
|
228
|
-
<span class="ruby-comment cmt"># File lib/shorturl.rb, line
|
229
|
-
|
230
|
-
|
231
|
-
|
228
|
+
<span class="ruby-comment cmt"># File lib/shorturl.rb, line 168</span>
|
229
|
+
168: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">valid_services</span>
|
230
|
+
169: <span class="ruby-ivar">@@valid_services</span>
|
231
|
+
170: <span class="ruby-keyword kw">end</span>
|
232
232
|
</pre>
|
233
233
|
</div>
|
234
234
|
</div>
|
data/doc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Sun Oct 02 14:18:23 EDT 2005
|
data/doc/files/ChangeLog.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Sun Oct 02 14:08:57 EDT 2005</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -70,11 +70,18 @@
|
|
70
70
|
|
71
71
|
<div id="description">
|
72
72
|
<p>
|
73
|
+
0.8.0:
|
74
|
+
</p>
|
75
|
+
<pre>
|
76
|
+
- Made some improvements to bin/shorturl
|
77
|
+
</pre>
|
78
|
+
<p>
|
73
79
|
0.7.0:
|
74
80
|
</p>
|
75
81
|
<pre>
|
76
82
|
- Added shortify.com, 0rz.net
|
77
83
|
- Modified unit tests
|
84
|
+
- Started using CVS on RubyForge
|
78
85
|
</pre>
|
79
86
|
<p>
|
80
87
|
0.6.0:
|
data/doc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Sun Oct 02 14:18:21 EDT 2005</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -69,7 +69,7 @@
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
71
|
<div id="description">
|
72
|
-
<h1><a href="../classes/ShortURL.html">ShortURL</a> 0.
|
72
|
+
<h1><a href="../classes/ShortURL.html">ShortURL</a> 0.8.0</h1>
|
73
73
|
<h2>Summary</h2>
|
74
74
|
<p>
|
75
75
|
<a href="../classes/ShortURL.html">ShortURL</a> is a very simple library to
|
@@ -220,6 +220,17 @@ href="../classes/ShortURL.html#M000001">ShortURL.valid_services</a></tt> to
|
|
220
220
|
obtain a list of the valid services (in case I forget to update the
|
221
221
|
documentation)
|
222
222
|
</p>
|
223
|
+
<p>
|
224
|
+
You can also use the small script in bin/ which can be used from the
|
225
|
+
command line: call-seq:
|
226
|
+
</p>
|
227
|
+
<pre>
|
228
|
+
$ shorturl www.google.com
|
229
|
+
http://rubyurl.com/fuuUw
|
230
|
+
$ shorturl -s tinyurl www.google.com
|
231
|
+
http://tinyurl.com/1c2
|
232
|
+
$
|
233
|
+
</pre>
|
223
234
|
<h2>Thanks</h2>
|
224
235
|
<ul>
|
225
236
|
<li>Marcel Molina Jr., Devin Mullins for some ideas
|
data/lib/shorturl.rb
CHANGED
@@ -41,7 +41,11 @@ class Service
|
|
41
41
|
when :get: http.get("#{@action}?#{@field}=#{CGI.escape(url)}")
|
42
42
|
end
|
43
43
|
if response.code == @code.to_s
|
44
|
-
|
44
|
+
begin
|
45
|
+
@block.call(response.read_body)
|
46
|
+
rescue NoMethodError
|
47
|
+
nil
|
48
|
+
end
|
45
49
|
end
|
46
50
|
}
|
47
51
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: shorturl
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2005-
|
6
|
+
version: 0.8.0
|
7
|
+
date: 2005-10-02 00:00:00 -04:00
|
8
8
|
summary: Shortens URLs using services such as TinyURL and RubyURL
|
9
9
|
require_paths:
|
10
10
|
- lib
|