shorturl 0.8.1 → 0.8.2

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 CHANGED
@@ -1,3 +1,9 @@
1
+ 0.8.2:
2
+ - Fixed unit tests
3
+ - Added shurl.org
4
+ - Added "random" service to bin/shorturl to pick a random one
5
+ - Removed shorl.com and skinnylink.com because they no longer seem to
6
+ be up and running
1
7
  0.8.1:
2
8
  - Wrapped the library in a WWW namespace
3
9
 
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = ShortURL 0.8.1
1
+ = ShortURL 0.8.2
2
2
 
3
3
  == Summary
4
4
  ShortURL is a very simple library to use URL shortening services such as
@@ -15,11 +15,9 @@ http://rubyforge.org/frs/?group_id=732 if you do not want to use the gem.
15
15
  Here is the list of the services supported by ShortURL:
16
16
  * http://rubyurl.com
17
17
  * http://tinyurl.com
18
- * http://shorl.com
19
18
  * http://snipurl.com
20
19
  * http://metamark.net
21
20
  * http://makeashorterlink.com
22
- * http://skinnylink.com
23
21
  * http://linktrim.com
24
22
  * http://shorterlink.com
25
23
  * http://minilink.org
@@ -32,6 +30,7 @@ Here is the list of the services supported by ShortURL:
32
30
  * http://shortify.com
33
31
  * http://0rz.net
34
32
  * http://skinnylink.com
33
+ * http://shurl.org
35
34
 
36
35
  == Usage:
37
36
 
@@ -40,27 +39,8 @@ call-seq:
40
39
  puts WWW::ShortURL.shorten("http://mypage.com")
41
40
  puts WWW::ShortURL.shorten("http://mypage.com", :tinyurl)
42
41
 
43
- The second parameter represents the service you want to use. These are:
44
- * <tt>:rubyurl</tt>
45
- * <tt>:tinyurl</tt>
46
- * <tt>:shorl</tt>
47
- * <tt>:snipurl</tt>
48
- * <tt>:metamark</tt>
49
- * <tt>:makeashorterlink</tt>
50
- * <tt>:skinnylink</tt>
51
- * <tt>:linktrim</tt>
52
- * <tt>:shorterlink</tt>
53
- * <tt>:minlink</tt>
54
- * <tt>:lns</tt>
55
- * <tt>:fyad</tt>
56
- * <tt>:d62</tt>
57
- * <tt>:shiturl</tt>
58
- * <tt>:littlink</tt>
59
- * <tt>:clipurl</tt>
60
- * <tt>:shortify</tt>
61
- * <tt>:orz</tt>
62
- * <tt>:skinnylink</tt>
63
-
42
+ The second parameter represents the service you want to use. See the
43
+ documentation for WWW::ShortURL for a complete list
64
44
 
65
45
  You can use <tt>ShortURL.valid_services</tt> to obtain a
66
46
  list of the valid services (in case I forget to update the
@@ -73,7 +53,9 @@ call-seq:
73
53
  http://rubyurl.com/fuuUw
74
54
  $ shorturl -s tinyurl www.google.com
75
55
  http://tinyurl.com/1c2
76
- $
56
+ $ shorturl -s random www.google.com
57
+ http://linktrim.com/42k
58
+
77
59
 
78
60
  == Thanks
79
61
  - Marcel Molina Jr., Devin Mullins for some ideas
data/bin/shorturl CHANGED
@@ -6,6 +6,16 @@ require "optparse"
6
6
 
7
7
  include WWW
8
8
 
9
+ class Array
10
+ def pick
11
+ self[rand(size)]
12
+ end
13
+ end
14
+
15
+ def random_service
16
+ ShortURL.valid_services.pick
17
+ end
18
+
9
19
  def service_list
10
20
  ShortURL.valid_services.map { |s| s.to_s }.sort.join("\n\t")
11
21
  end
@@ -27,7 +37,9 @@ Available services:\n\t" + service_list) { |s| service = s.to_sym }
27
37
  end
28
38
 
29
39
  url = ARGV.shift
30
- shorturl = if ShortURL.valid_services.include?(service)
40
+ shorturl = if service == :random
41
+ ShortURL.shorten(url, random_service)
42
+ elsif ShortURL.valid_services.include?(service)
31
43
  ShortURL.shorten(url, service)
32
44
  else
33
45
  puts "Invalid service"
@@ -5,10 +5,10 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: InvalidService</title>
8
+ <title>Class: WWW::InvalidService</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
12
  <script type="text/javascript">
13
13
  // <![CDATA[
14
14
 
@@ -50,12 +50,12 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">InvalidService</td>
53
+ <td class="class-name-in-header">WWW::InvalidService</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../files/lib/shorturl_rb.html">
58
+ <a href="../../files/lib/shorturl_rb.html">
59
59
  lib/shorturl.rb
60
60
  </a>
61
61
  <br />
@@ -5,10 +5,10 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: Service</title>
8
+ <title>Class: WWW::Service</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
12
  <script type="text/javascript">
13
13
  // <![CDATA[
14
14
 
@@ -50,12 +50,12 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Service</td>
53
+ <td class="class-name-in-header">WWW::Service</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../files/lib/shorturl_rb.html">
58
+ <a href="../../files/lib/shorturl_rb.html">
59
59
  lib/shorturl.rb
60
60
  </a>
61
61
  <br />
@@ -167,20 +167,20 @@ long URL, and the block of what to do with the HTML code you get.
167
167
  onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
168
168
  <div class="method-source-code" id="M000003-source">
169
169
  <pre>
170
- <span class="ruby-comment cmt"># File lib/shorturl.rb, line 21</span>
171
- 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">hostname</span>) <span class="ruby-comment cmt"># :yield: service</span>
172
- 22: <span class="ruby-ivar">@hostname</span> = <span class="ruby-identifier">hostname</span>
173
- 23: <span class="ruby-ivar">@port</span> = <span class="ruby-value">80</span>
174
- 24: <span class="ruby-ivar">@code</span> = <span class="ruby-value">200</span>
175
- 25: <span class="ruby-ivar">@method</span> = <span class="ruby-identifier">:post</span>
176
- 26: <span class="ruby-ivar">@action</span> = <span class="ruby-value str">&quot;/&quot;</span>
177
- 27: <span class="ruby-ivar">@field</span> = <span class="ruby-value str">&quot;url&quot;</span>
178
- 28: <span class="ruby-ivar">@block</span> = <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">body</span><span class="ruby-operator">|</span> }
179
- 29:
180
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
181
- 31: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span>
182
- 32: <span class="ruby-keyword kw">end</span>
183
- 33: <span class="ruby-keyword kw">end</span>
170
+ <span class="ruby-comment cmt"># File lib/shorturl.rb, line 22</span>
171
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">hostname</span>) <span class="ruby-comment cmt"># :yield: service</span>
172
+ 23: <span class="ruby-ivar">@hostname</span> = <span class="ruby-identifier">hostname</span>
173
+ 24: <span class="ruby-ivar">@port</span> = <span class="ruby-value">80</span>
174
+ 25: <span class="ruby-ivar">@code</span> = <span class="ruby-value">200</span>
175
+ 26: <span class="ruby-ivar">@method</span> = <span class="ruby-identifier">:post</span>
176
+ 27: <span class="ruby-ivar">@action</span> = <span class="ruby-value str">&quot;/&quot;</span>
177
+ 28: <span class="ruby-ivar">@field</span> = <span class="ruby-value str">&quot;url&quot;</span>
178
+ 29: <span class="ruby-ivar">@block</span> = <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">body</span><span class="ruby-operator">|</span> }
179
+ 30:
180
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
181
+ 32: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span>
182
+ 33: <span class="ruby-keyword kw">end</span>
183
+ 34: <span class="ruby-keyword kw">end</span>
184
184
  </pre>
185
185
  </div>
186
186
  </div>
@@ -206,22 +206,22 @@ Now that our service is set up, call it with all the parameters to
206
206
  onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
207
207
  <div class="method-source-code" id="M000004-source">
208
208
  <pre>
209
- <span class="ruby-comment cmt"># File lib/shorturl.rb, line 37</span>
210
- 37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">url</span>)
211
- 38: <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">start</span>(<span class="ruby-ivar">@hostname</span>, <span class="ruby-ivar">@port</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
212
- 39: <span class="ruby-identifier">response</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@method</span>
213
- 40: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:post</span><span class="ruby-operator">:</span> <span class="ruby-identifier">http</span>.<span class="ruby-identifier">post</span>(<span class="ruby-ivar">@action</span>, <span class="ruby-node">&quot;#{@field}=#{url}&quot;</span>)
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">&quot;#{@action}?#{@field}=#{CGI.escape(url)}&quot;</span>)
215
- 42: <span class="ruby-keyword kw">end</span>
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-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>
209
+ <span class="ruby-comment cmt"># File lib/shorturl.rb, line 38</span>
210
+ 38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">url</span>)
211
+ 39: <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">start</span>(<span class="ruby-ivar">@hostname</span>, <span class="ruby-ivar">@port</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
212
+ 40: <span class="ruby-identifier">response</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@method</span>
213
+ 41: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:post</span><span class="ruby-operator">:</span> <span class="ruby-identifier">http</span>.<span class="ruby-identifier">post</span>(<span class="ruby-ivar">@action</span>, <span class="ruby-node">&quot;#{@field}=#{url}&quot;</span>)
214
+ 42: <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">&quot;#{@action}?#{@field}=#{CGI.escape(url)}&quot;</span>)
215
+ 43: <span class="ruby-keyword kw">end</span>
216
+ 44: <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
+ 45: <span class="ruby-keyword kw">begin</span>
218
+ 46: <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
+ 47: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">NoMethodError</span>
220
+ 48: <span class="ruby-keyword kw">nil</span>
221
+ 49: <span class="ruby-keyword kw">end</span>
222
+ 50: <span class="ruby-keyword kw">end</span>
223
+ 51: }
224
+ 52: <span class="ruby-keyword kw">end</span>
225
225
  </pre>
226
226
  </div>
227
227
  </div>
@@ -5,10 +5,10 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: ShortURL</title>
8
+ <title>Class: WWW::ShortURL</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
12
  <script type="text/javascript">
13
13
  // <![CDATA[
14
14
 
@@ -50,12 +50,12 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">ShortURL</td>
53
+ <td class="class-name-in-header">WWW::ShortURL</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../files/lib/shorturl_rb.html">
58
+ <a href="../../files/lib/shorturl_rb.html">
59
59
  lib/shorturl.rb
60
60
  </a>
61
61
  <br />
@@ -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 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>
198
+ <span class="ruby-comment cmt"># File lib/shorturl.rb, line 202</span>
199
+ 202: <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
+ 203: <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
+ 204: <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
+ 205: <span class="ruby-keyword kw">else</span>
203
+ 206: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidService</span>
204
+ 207: <span class="ruby-keyword kw">end</span>
205
+ 208: <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 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>
228
+ <span class="ruby-comment cmt"># File lib/shorturl.rb, line 169</span>
229
+ 169: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">valid_services</span>
230
+ 170: <span class="ruby-ivar">@@valid_services</span>
231
+ 171: <span class="ruby-keyword kw">end</span>
232
232
  </pre>
233
233
  </div>
234
234
  </div>
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: WWW</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">WWW</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/shorturl_rb.html">
59
+ lib/shorturl.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+
80
+ </div>
81
+
82
+
83
+ <!-- if includes -->
84
+
85
+ <div id="section">
86
+
87
+ <div id="class-list">
88
+ <h3 class="section-bar">Classes and Modules</h3>
89
+
90
+ Class <a href="WWW/InvalidService.html" class="link">WWW::InvalidService</a><br />
91
+ Class <a href="WWW/Service.html" class="link">WWW::Service</a><br />
92
+ Class <a href="WWW/ShortURL.html" class="link">WWW::ShortURL</a><br />
93
+
94
+ </div>
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <!-- if method_list -->
103
+
104
+
105
+ </div>
106
+
107
+
108
+ <div id="validator-badges">
109
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
110
+ </div>
111
+
112
+ </body>
113
+ </html>
data/doc/created.rid CHANGED
@@ -1 +1 @@
1
- Sun Oct 02 14:18:23 EDT 2005
1
+ Sun Oct 02 18:54:32 EDT 2005
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Oct 02 14:08:57 EDT 2005</td>
59
+ <td>Sun Oct 02 18:42:01 EDT 2005</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -70,6 +70,12 @@
70
70
 
71
71
  <div id="description">
72
72
  <p>
73
+ 0.8.1:
74
+ </p>
75
+ <pre>
76
+ - Wrapped the library in a WWW namespace
77
+ </pre>
78
+ <p>
73
79
  0.8.0:
74
80
  </p>
75
81
  <pre>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Oct 02 14:18:21 EDT 2005</td>
59
+ <td>Sun Oct 02 18:45:01 EDT 2005</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -69,16 +69,16 @@
69
69
  <div id="contextContent">
70
70
 
71
71
  <div id="description">
72
- <h1><a href="../classes/ShortURL.html">ShortURL</a> 0.8.0</h1>
72
+ <h1>ShortURL 0.8.1</h1>
73
73
  <h2>Summary</h2>
74
74
  <p>
75
- <a href="../classes/ShortURL.html">ShortURL</a> is a very simple library to
76
- use URL shortening services such as TinyURL or RubyURL.
75
+ ShortURL is a very simple library to use URL shortening services such as
76
+ TinyURL or RubyURL.
77
77
  </p>
78
78
  <h2>Installation</h2>
79
79
  <p>
80
- <a href="../classes/ShortURL.html">ShortURL</a> is available as a gem,
81
- installation is just like any other gem: <tt>$ gem install -r shorturl</tt>
80
+ ShortURL is available as a gem, installation is just like any other gem:
81
+ <tt>$ gem install -r shorturl</tt>
82
82
  </p>
83
83
  <p>
84
84
  You can also download the tar.bz2 archive at <a
@@ -87,8 +87,7 @@ if you do not want to use the gem.
87
87
  </p>
88
88
  <h2>Supported services</h2>
89
89
  <p>
90
- Here is the list of the services supported by <a
91
- href="../classes/ShortURL.html">ShortURL</a>:
90
+ Here is the list of the services supported by ShortURL:
92
91
  </p>
93
92
  <ul>
94
93
  <li><a href="http://rubyurl.com">rubyurl.com</a>
@@ -144,6 +143,9 @@ href="../classes/ShortURL.html">ShortURL</a>:
144
143
  </li>
145
144
  <li><a href="http://0rz.net">0rz.net</a>
146
145
 
146
+ </li>
147
+ <li><a href="http://skinnylink.com">skinnylink.com</a>
148
+
147
149
  </li>
148
150
  </ul>
149
151
  <h2>Usage:</h2>
@@ -152,8 +154,8 @@ call-seq:
152
154
  </p>
153
155
  <pre>
154
156
  require &quot;shorturl&quot;
155
- puts ShortURL.shorten(&quot;http://mypage.com&quot;)
156
- puts ShortURL.shorten(&quot;http://mypage.com&quot;, :tinyurl)
157
+ puts WWW::ShortURL.shorten(&quot;http://mypage.com&quot;)
158
+ puts WWW::ShortURL.shorten(&quot;http://mypage.com&quot;, :tinyurl)
157
159
  </pre>
158
160
  <p>
159
161
  The second parameter represents the service you want to use. These are:
@@ -212,13 +214,14 @@ The second parameter represents the service you want to use. These are:
212
214
  </li>
213
215
  <li><tt>:orz</tt>
214
216
 
217
+ </li>
218
+ <li><tt>:skinnylink</tt>
219
+
215
220
  </li>
216
221
  </ul>
217
222
  <p>
218
- You can use <tt><a
219
- href="../classes/ShortURL.html#M000001">ShortURL.valid_services</a></tt> to
220
- obtain a list of the valid services (in case I forget to update the
221
- documentation)
223
+ You can use <tt>ShortURL.valid_services</tt> to obtain a list of the valid
224
+ services (in case I forget to update the documentation)
222
225
  </p>
223
226
  <p>
224
227
  You can also use the small script in bin/ which can be used from the
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Sep 29 23:03:41 EDT 2005</td>
59
+ <td>Sun Oct 02 17:56:50 EDT 2005</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -20,9 +20,10 @@
20
20
  <div id="index">
21
21
  <h1 class="section-bar">Classes</h1>
22
22
  <div id="index-entries">
23
- <a href="classes/InvalidService.html">InvalidService</a><br />
24
- <a href="classes/Service.html">Service</a><br />
25
- <a href="classes/ShortURL.html">ShortURL</a><br />
23
+ <a href="classes/WWW.html">WWW</a><br />
24
+ <a href="classes/WWW/InvalidService.html">WWW::InvalidService</a><br />
25
+ <a href="classes/WWW/Service.html">WWW::Service</a><br />
26
+ <a href="classes/WWW/ShortURL.html">WWW::ShortURL</a><br />
26
27
  </div>
27
28
  </div>
28
29
  </body>
@@ -20,10 +20,10 @@
20
20
  <div id="index">
21
21
  <h1 class="section-bar">Methods</h1>
22
22
  <div id="index-entries">
23
- <a href="classes/Service.html#M000004">call (Service)</a><br />
24
- <a href="classes/Service.html#M000003">new (Service)</a><br />
25
- <a href="classes/ShortURL.html#M000002">shorten (ShortURL)</a><br />
26
- <a href="classes/ShortURL.html#M000001">valid_services (ShortURL)</a><br />
23
+ <a href="classes/WWW/Service.html#M000004">call (WWW::Service)</a><br />
24
+ <a href="classes/WWW/Service.html#M000003">new (WWW::Service)</a><br />
25
+ <a href="classes/WWW/ShortURL.html#M000002">shorten (WWW::ShortURL)</a><br />
26
+ <a href="classes/WWW/ShortURL.html#M000001">valid_services (WWW::ShortURL)</a><br />
27
27
  </div>
28
28
  </div>
29
29
  </body>
data/lib/shorturl.rb CHANGED
@@ -72,11 +72,6 @@ module WWW
72
72
  s.block = lambda { |body| URI.extract(body).grep(/tinyurl/)[-1] }
73
73
  },
74
74
 
75
- :shorl => Service.new("shorl.com") { |s|
76
- s.action = "/create.php"
77
- s.block = lambda { |body| URI.extract(body)[2] }
78
- },
79
-
80
75
  :snipurl => Service.new("snipurl.com") { |s|
81
76
  s.action = "/index.php"
82
77
  s.field = "link"
@@ -97,10 +92,6 @@ module WWW
97
92
  s.block = lambda { |body| URI.extract(body).grep(/makeashorterlink/)[0] }
98
93
  },
99
94
 
100
- :skinnylink => Service.new("skinnylink.com") { |s|
101
- s.block = lambda { |body| URI.extract(body).grep(/skinnylink/)[0] }
102
- },
103
-
104
95
  :linktrim => Service.new("linktrim.com") { |s|
105
96
  s.method = :get
106
97
  s.action = "/lt/generate"
@@ -158,6 +149,10 @@ module WWW
158
149
  :orz => Service.new("0rz.net") { |s|
159
150
  s.action = "/create.php"
160
151
  s.block = lambda { |body| URI.extract(body).grep(/0rz/)[0] }
152
+ },
153
+
154
+ :shurl => Service.new("shurl.org") { |s|
155
+ s.block = lambda { |body| URI.extract(body).grep(/shurl/)[0] }
161
156
  }
162
157
  }
163
158
 
@@ -179,11 +174,9 @@ module WWW
179
174
  #
180
175
  # * <tt>:rubyurl</tt>
181
176
  # * <tt>:tinyurl</tt>
182
- # * <tt>:shorl</tt>
183
177
  # * <tt>:snipurl</tt>
184
178
  # * <tt>:metamark</tt>
185
179
  # * <tt>:makeashorterlink</tt>
186
- # * <tt>:skinnylink</tt>
187
180
  # * <tt>:linktrim</tt>
188
181
  # * <tt>:shorterlink</tt>
189
182
  # * <tt>:minlink</tt>
@@ -195,6 +188,7 @@ module WWW
195
188
  # * <tt>:clipurl</tt>
196
189
  # * <tt>:shortify</tt>
197
190
  # * <tt>:orz</tt>
191
+ # * <tt>:shurl</tt>
198
192
  #
199
193
  # call-seq:
200
194
  # ShortURL.shorten("http://mypage.com") => Uses RubyURL
data/test/tc_service.rb CHANGED
@@ -9,7 +9,9 @@ require "test/unit"
9
9
  require "shorturl"
10
10
 
11
11
 
12
- class WWW::TestService < Test::Unit::TestCase
12
+ class TestService < Test::Unit::TestCase
13
+
14
+ include WWW
13
15
 
14
16
  def test_call
15
17
  service = Service.new("oasdasobf")
data/test/tc_shorturl.rb CHANGED
@@ -14,7 +14,8 @@ class String
14
14
  end
15
15
  end
16
16
 
17
- class WWW::TestShortURL < Test::Unit::TestCase
17
+ class TestShortURL < Test::Unit::TestCase
18
+ include WWW
18
19
  def setup
19
20
  @url = "http://groups.google.com/group/comp.lang.ruby/"
20
21
  end
@@ -26,6 +27,7 @@ class WWW::TestShortURL < Test::Unit::TestCase
26
27
  # All the services (I can't test exact URLs since they seem to
27
28
  # change semi regularly)
28
29
  ShortURL.valid_services.each do |service|
30
+ puts "Testing #{service}"
29
31
  assert ShortURL.shorten(@url, service).url?
30
32
  end
31
33
 
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.8.1
7
- date: 2005-10-02 00:00:00 -04:00
6
+ version: 0.8.2
7
+ date: 2005-12-17 00:00:00 -05:00
8
8
  summary: Shortens URLs using services such as TinyURL and RubyURL
9
9
  require_paths:
10
10
  - lib
@@ -39,9 +39,11 @@ files:
39
39
  - doc/fr_method_index.html
40
40
  - doc/index.html
41
41
  - doc/rdoc-style.css
42
- - doc/classes/InvalidService.html
43
- - doc/classes/Service.html
44
- - doc/classes/ShortURL.html
42
+ - doc/classes/WWW
43
+ - doc/classes/WWW.html
44
+ - doc/classes/WWW/InvalidService.html
45
+ - doc/classes/WWW/Service.html
46
+ - doc/classes/WWW/ShortURL.html
45
47
  - doc/files/ChangeLog.html
46
48
  - doc/files/lib
47
49
  - doc/files/MIT-LICENSE.html