addressable 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +5 -0
- data/coverage/index.html +5 -5
- data/coverage/lib-addressable-uri_rb.html +927 -896
- data/coverage/lib-addressable-version_rb.html +33 -33
- data/doc/classes/Addressable.html +2 -2
- data/doc/classes/Addressable/URI.html +829 -772
- data/doc/classes/Addressable/URI/CharacterClasses.html +2 -2
- data/doc/classes/Addressable/URI/IDNA.html +36 -36
- data/doc/classes/Addressable/URI/InvalidOptionError.html +2 -2
- data/doc/classes/Addressable/URI/InvalidTemplateValue.html +2 -2
- data/doc/classes/Addressable/URI/InvalidURIError.html +2 -2
- data/doc/created.rid +1 -1
- data/doc/files/CHANGELOG.html +10 -4
- data/doc/files/LICENSE.html +2 -2
- data/doc/files/README.html +2 -2
- data/doc/files/lib/addressable/uri_rb.html +3 -3
- data/doc/files/lib/addressable/version_rb.html +3 -3
- data/doc/fr_class_index.html +2 -2
- data/doc/fr_file_index.html +2 -2
- data/doc/fr_method_index.html +19 -17
- data/doc/index.html +2 -2
- data/lib/addressable/uri.rb +35 -4
- data/lib/addressable/version.rb +1 -1
- data/rakefile +6 -6
- data/spec/addressable/uri_spec.rb +841 -664
- data/specdoc/index.html +703 -576
- metadata +5 -5
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>Module: Addressable::URI::CharacterClasses</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>Module: Addressable::URI::IDNA</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -89,8 +89,8 @@ returning nil if libidn can‘t be used.
|
|
89
89
|
<h3 class="section-bar">Methods</h3>
|
90
90
|
|
91
91
|
<div class="name-list">
|
92
|
-
<a href="#
|
93
|
-
<a href="#
|
92
|
+
<a href="#M000057">to_ascii</a>
|
93
|
+
<a href="#M000058">to_unicode</a>
|
94
94
|
</div>
|
95
95
|
</div>
|
96
96
|
|
@@ -112,11 +112,11 @@ returning nil if libidn can‘t be used.
|
|
112
112
|
<div id="methods">
|
113
113
|
<h3 class="section-bar">Public Class methods</h3>
|
114
114
|
|
115
|
-
<div id="method-
|
116
|
-
<a name="
|
115
|
+
<div id="method-M000057" class="method-detail">
|
116
|
+
<a name="M000057"></a>
|
117
117
|
|
118
118
|
<div class="method-heading">
|
119
|
-
<a href="#
|
119
|
+
<a href="#M000057" class="method-signature">
|
120
120
|
<span class="method-name">to_ascii</span><span class="method-args">(label)</span>
|
121
121
|
</a>
|
122
122
|
</div>
|
@@ -126,30 +126,30 @@ returning nil if libidn can‘t be used.
|
|
126
126
|
Returns the ascii representation of the label.
|
127
127
|
</p>
|
128
128
|
<p><a class="source-toggle" href="#"
|
129
|
-
onclick="toggleCode('
|
130
|
-
<div class="method-source-code" id="
|
129
|
+
onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
|
130
|
+
<div class="method-source-code" id="M000057-source">
|
131
131
|
<pre>
|
132
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
132
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1103</span>
|
133
|
+
1103: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_ascii</span>(<span class="ruby-identifier">label</span>)
|
134
|
+
1104: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">label</span>.<span class="ruby-identifier">nil?</span>
|
135
|
+
1105: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">use_libidn?</span>
|
136
|
+
1106: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">IDN</span><span class="ruby-operator">::</span><span class="ruby-constant">Idna</span>.<span class="ruby-identifier">toASCII</span>(<span class="ruby-identifier">label</span>)
|
137
|
+
1107: <span class="ruby-keyword kw">else</span>
|
138
|
+
1108: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>,
|
139
|
+
1109: <span class="ruby-value str">"There is no available pure-ruby implementation. "</span> <span class="ruby-operator">+</span>
|
140
|
+
1110: <span class="ruby-value str">"Install libidn bindings."</span>
|
141
|
+
1111: <span class="ruby-keyword kw">end</span>
|
142
|
+
1112: <span class="ruby-keyword kw">end</span>
|
143
143
|
</pre>
|
144
144
|
</div>
|
145
145
|
</div>
|
146
146
|
</div>
|
147
147
|
|
148
|
-
<div id="method-
|
149
|
-
<a name="
|
148
|
+
<div id="method-M000058" class="method-detail">
|
149
|
+
<a name="M000058"></a>
|
150
150
|
|
151
151
|
<div class="method-heading">
|
152
|
-
<a href="#
|
152
|
+
<a href="#M000058" class="method-signature">
|
153
153
|
<span class="method-name">to_unicode</span><span class="method-args">(label)</span>
|
154
154
|
</a>
|
155
155
|
</div>
|
@@ -159,20 +159,20 @@ Returns the ascii representation of the label.
|
|
159
159
|
Returns the unicode representation of the label.
|
160
160
|
</p>
|
161
161
|
<p><a class="source-toggle" href="#"
|
162
|
-
onclick="toggleCode('
|
163
|
-
<div class="method-source-code" id="
|
162
|
+
onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
|
163
|
+
<div class="method-source-code" id="M000058-source">
|
164
164
|
<pre>
|
165
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
165
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1115</span>
|
166
|
+
1115: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_unicode</span>(<span class="ruby-identifier">label</span>)
|
167
|
+
1116: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">label</span>.<span class="ruby-identifier">nil?</span>
|
168
|
+
1117: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">use_libidn?</span>
|
169
|
+
1118: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">IDN</span><span class="ruby-operator">::</span><span class="ruby-constant">Idna</span>.<span class="ruby-identifier">toUnicode</span>(<span class="ruby-identifier">label</span>)
|
170
|
+
1119: <span class="ruby-keyword kw">else</span>
|
171
|
+
1120: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>,
|
172
|
+
1121: <span class="ruby-value str">"There is no available pure-ruby implementation. "</span> <span class="ruby-operator">+</span>
|
173
|
+
1122: <span class="ruby-value str">"Install libidn bindings."</span>
|
174
|
+
1123: <span class="ruby-keyword kw">end</span>
|
175
|
+
1124: <span class="ruby-keyword kw">end</span>
|
176
176
|
</pre>
|
177
177
|
</div>
|
178
178
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>Class: Addressable::URI::InvalidOptionError</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>Class: Addressable::URI::InvalidTemplateValue</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>Class: Addressable::URI::InvalidURIError</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
data/doc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Sun Oct 28 17:23:21 -0400 2007
|
data/doc/files/CHANGELOG.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>File: CHANGELOG</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -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 28 15:46:06 -0400 2007</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -69,7 +69,13 @@
|
|
69
69
|
<div id="contextContent">
|
70
70
|
|
71
71
|
<div id="description">
|
72
|
-
<h3><a href="../classes/Addressable.html">Addressable</a> 0.1.
|
72
|
+
<h3><a href="../classes/Addressable.html">Addressable</a> 0.1.2</h3>
|
73
|
+
<pre>
|
74
|
+
* improved normalization
|
75
|
+
* fixed bug in joining algorithm
|
76
|
+
* updated specifications
|
77
|
+
</pre>
|
78
|
+
<h3><a href="../classes/Addressable.html">Addressable</a> 0.1.1</h3>
|
73
79
|
<pre>
|
74
80
|
* updated documentation
|
75
81
|
* added URI Template variable extraction
|
data/doc/files/LICENSE.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>File: LICENSE</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
data/doc/files/README.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>File: README</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>File: uri.rb</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -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 28 17:15:18 -0400 2007</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
7
|
<head>
|
8
8
|
<title>File: version.rb</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
10
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
11
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
12
|
<script type="text/javascript">
|
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>Wed Sep 05
|
59
|
+
<td>Wed Sep 05 19:02:53 -0400 2007</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
data/doc/fr_class_index.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
<?xml version="1.0" encoding="
|
2
|
+
<?xml version="1.0" encoding="utf-8"?>
|
3
3
|
<!DOCTYPE html
|
4
4
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
5
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
13
|
<head>
|
14
14
|
<title>Classes</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
16
16
|
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
17
|
<base target="docwin" />
|
18
18
|
</head>
|
data/doc/fr_file_index.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
<?xml version="1.0" encoding="
|
2
|
+
<?xml version="1.0" encoding="utf-8"?>
|
3
3
|
<!DOCTYPE html
|
4
4
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
5
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
13
|
<head>
|
14
14
|
<title>Files</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
16
16
|
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
17
|
<base target="docwin" />
|
18
18
|
</head>
|
data/doc/fr_method_index.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
<?xml version="1.0" encoding="
|
2
|
+
<?xml version="1.0" encoding="utf-8"?>
|
3
3
|
<!DOCTYPE html
|
4
4
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
5
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
13
|
<head>
|
14
14
|
<title>Methods</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
16
16
|
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
17
|
<base target="docwin" />
|
18
18
|
</head>
|
@@ -21,18 +21,18 @@
|
|
21
21
|
<h1 class="section-bar">Methods</h1>
|
22
22
|
<div id="index-entries">
|
23
23
|
<a href="classes/Addressable/URI.html#M000040">+ (Addressable::URI)</a><br />
|
24
|
-
<a href="classes/Addressable/URI.html#
|
25
|
-
<a href="classes/Addressable/URI.html#
|
24
|
+
<a href="classes/Addressable/URI.html#M000051">== (Addressable::URI)</a><br />
|
25
|
+
<a href="classes/Addressable/URI.html#M000050">=== (Addressable::URI)</a><br />
|
26
26
|
<a href="classes/Addressable/URI.html#M000039">absolute? (Addressable::URI)</a><br />
|
27
27
|
<a href="classes/Addressable/URI.html#M000022">authority (Addressable::URI)</a><br />
|
28
28
|
<a href="classes/Addressable/URI.html#M000023">authority= (Addressable::URI)</a><br />
|
29
29
|
<a href="classes/Addressable/URI.html#M000031">basename (Addressable::URI)</a><br />
|
30
30
|
<a href="classes/Addressable/URI.html#M000002">convert_path (Addressable::URI)</a><br />
|
31
|
-
<a href="classes/Addressable/URI.html#
|
32
|
-
<a href="classes/Addressable/URI.html#
|
31
|
+
<a href="classes/Addressable/URI.html#M000049">display_uri (Addressable::URI)</a><br />
|
32
|
+
<a href="classes/Addressable/URI.html#M000053">dup (Addressable::URI)</a><br />
|
33
33
|
<a href="classes/Addressable/URI.html#M000008">encode (Addressable::URI)</a><br />
|
34
34
|
<a href="classes/Addressable/URI.html#M000006">encode_segment (Addressable::URI)</a><br />
|
35
|
-
<a href="classes/Addressable/URI.html#
|
35
|
+
<a href="classes/Addressable/URI.html#M000052">eql? (Addressable::URI)</a><br />
|
36
36
|
<a href="classes/Addressable/URI.html#M000003">expand_template (Addressable::URI)</a><br />
|
37
37
|
<a href="classes/Addressable/URI.html#M000032">extname (Addressable::URI)</a><br />
|
38
38
|
<a href="classes/Addressable/URI.html#M000010">extract (Addressable::URI)</a><br />
|
@@ -41,15 +41,17 @@
|
|
41
41
|
<a href="classes/Addressable/URI.html#M000036">fragment= (Addressable::URI)</a><br />
|
42
42
|
<a href="classes/Addressable/URI.html#M000020">host (Addressable::URI)</a><br />
|
43
43
|
<a href="classes/Addressable/URI.html#M000021">host= (Addressable::URI)</a><br />
|
44
|
-
<a href="classes/Addressable/URI.html#
|
44
|
+
<a href="classes/Addressable/URI.html#M000056">inspect (Addressable::URI)</a><br />
|
45
45
|
<a href="classes/Addressable/URI.html#M000037">ip_based? (Addressable::URI)</a><br />
|
46
46
|
<a href="classes/Addressable/URI.html#M000024">ip_based_schemes (Addressable::URI)</a><br />
|
47
47
|
<a href="classes/Addressable/URI.html#M000005">join (Addressable::URI)</a><br />
|
48
|
+
<a href="classes/Addressable/URI.html#M000042">join (Addressable::URI)</a><br />
|
49
|
+
<a href="classes/Addressable/URI.html#M000044">join! (Addressable::URI)</a><br />
|
48
50
|
<a href="classes/Addressable/URI.html#M000041">merge (Addressable::URI)</a><br />
|
49
|
-
<a href="classes/Addressable/URI.html#
|
51
|
+
<a href="classes/Addressable/URI.html#M000043">merge! (Addressable::URI)</a><br />
|
50
52
|
<a href="classes/Addressable/URI.html#M000011">new (Addressable::URI)</a><br />
|
51
|
-
<a href="classes/Addressable/URI.html#
|
52
|
-
<a href="classes/Addressable/URI.html#
|
53
|
+
<a href="classes/Addressable/URI.html#M000047">normalize (Addressable::URI)</a><br />
|
54
|
+
<a href="classes/Addressable/URI.html#M000048">normalize! (Addressable::URI)</a><br />
|
53
55
|
<a href="classes/Addressable/URI.html#M000009">normalized_encode (Addressable::URI)</a><br />
|
54
56
|
<a href="classes/Addressable/URI.html#M000001">parse (Addressable::URI)</a><br />
|
55
57
|
<a href="classes/Addressable/URI.html#M000016">password (Addressable::URI)</a><br />
|
@@ -61,16 +63,16 @@
|
|
61
63
|
<a href="classes/Addressable/URI.html#M000033">query (Addressable::URI)</a><br />
|
62
64
|
<a href="classes/Addressable/URI.html#M000034">query= (Addressable::URI)</a><br />
|
63
65
|
<a href="classes/Addressable/URI.html#M000038">relative? (Addressable::URI)</a><br />
|
64
|
-
<a href="classes/Addressable/URI.html#
|
65
|
-
<a href="classes/Addressable/URI.html#
|
66
|
+
<a href="classes/Addressable/URI.html#M000045">route_from (Addressable::URI)</a><br />
|
67
|
+
<a href="classes/Addressable/URI.html#M000046">route_to (Addressable::URI)</a><br />
|
66
68
|
<a href="classes/Addressable/URI.html#M000012">scheme (Addressable::URI)</a><br />
|
67
69
|
<a href="classes/Addressable/URI.html#M000013">scheme= (Addressable::URI)</a><br />
|
68
70
|
<a href="classes/Addressable/URI.html#M000025">scheme_mapping (Addressable::URI)</a><br />
|
69
71
|
<a href="classes/Addressable/URI.html#M000028">specified_port (Addressable::URI)</a><br />
|
70
|
-
<a href="classes/Addressable/URI/IDNA.html#
|
71
|
-
<a href="classes/Addressable/URI.html#
|
72
|
-
<a href="classes/Addressable/URI.html#
|
73
|
-
<a href="classes/Addressable/URI/IDNA.html#
|
72
|
+
<a href="classes/Addressable/URI/IDNA.html#M000057">to_ascii (Addressable::URI::IDNA)</a><br />
|
73
|
+
<a href="classes/Addressable/URI.html#M000055">to_h (Addressable::URI)</a><br />
|
74
|
+
<a href="classes/Addressable/URI.html#M000054">to_s (Addressable::URI)</a><br />
|
75
|
+
<a href="classes/Addressable/URI/IDNA.html#M000058">to_unicode (Addressable::URI::IDNA)</a><br />
|
74
76
|
<a href="classes/Addressable/URI.html#M000007">unencode_segment (Addressable::URI)</a><br />
|
75
77
|
<a href="classes/Addressable/URI.html#M000014">user (Addressable::URI)</a><br />
|
76
78
|
<a href="classes/Addressable/URI.html#M000015">user= (Addressable::URI)</a><br />
|
data/doc/index.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<?xml version="1.0" encoding="
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
12
12
|
<head>
|
13
13
|
<title>Addressable -- URI Implementation</title>
|
14
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
15
15
|
</head>
|
16
16
|
<frameset rows="20%, 80%">
|
17
17
|
<frameset cols="25%,35%,45%">
|
data/lib/addressable/uri.rb
CHANGED
@@ -27,7 +27,7 @@ $:.uniq!
|
|
27
27
|
require 'addressable/version'
|
28
28
|
|
29
29
|
module Addressable
|
30
|
-
# This is an implementation of a URI parser based on RFC 3986.
|
30
|
+
# This is an implementation of a URI parser based on RFC 3986, 3987.
|
31
31
|
class URI
|
32
32
|
# Raised if something other than a uri is supplied.
|
33
33
|
class InvalidURIError < StandardError
|
@@ -280,6 +280,7 @@ module Addressable
|
|
280
280
|
end
|
281
281
|
return mapping
|
282
282
|
else
|
283
|
+
# Pattern failed to match URI.
|
283
284
|
return nil
|
284
285
|
end
|
285
286
|
end
|
@@ -790,9 +791,25 @@ module Addressable
|
|
790
791
|
if uri.path[0..0] == "/"
|
791
792
|
joined_path = self.class.normalize_path(uri.path)
|
792
793
|
else
|
793
|
-
base_path = self.path.
|
794
|
+
base_path = self.path.dup
|
795
|
+
base_path = "" if base_path == nil
|
794
796
|
base_path = self.class.normalize_path(base_path)
|
795
|
-
|
797
|
+
|
798
|
+
# Section 5.2.3 of RFC 3986
|
799
|
+
#
|
800
|
+
# Removes the right-most path segment from the base path.
|
801
|
+
if base_path =~ /\//
|
802
|
+
base_path.gsub!(/\/[^\/]+$/, "/")
|
803
|
+
else
|
804
|
+
base_path = ""
|
805
|
+
end
|
806
|
+
|
807
|
+
# If the base path is empty and an authority segment has been
|
808
|
+
# defined, use a base path of "/"
|
809
|
+
if base_path == "" && self.authority != nil
|
810
|
+
base_path = "/"
|
811
|
+
end
|
812
|
+
|
796
813
|
joined_path = self.class.normalize_path(base_path + uri.path)
|
797
814
|
end
|
798
815
|
joined_query = uri.query
|
@@ -822,11 +839,13 @@ module Addressable
|
|
822
839
|
def merge(uri)
|
823
840
|
return self + uri
|
824
841
|
end
|
842
|
+
alias_method :join, :merge
|
825
843
|
|
826
844
|
# Destructive form of merge.
|
827
845
|
def merge!(uri)
|
828
846
|
replace_self(self.merge(uri))
|
829
847
|
end
|
848
|
+
alias_method :join!, :merge!
|
830
849
|
|
831
850
|
# Returns the shortest normalized relative form of this URI that uses the
|
832
851
|
# supplied URI as a base for resolution. Returns an absolute URI if
|
@@ -905,6 +924,13 @@ module Addressable
|
|
905
924
|
normalized_user = self.user.strip if self.user != nil
|
906
925
|
normalized_password = nil
|
907
926
|
normalized_password = self.password.strip if self.password != nil
|
927
|
+
|
928
|
+
if normalized_scheme =~ /https?/ && normalized_user == "" &&
|
929
|
+
(normalized_password == nil || normalized_password == "")
|
930
|
+
normalized_user = nil
|
931
|
+
normalized_password = nil
|
932
|
+
end
|
933
|
+
|
908
934
|
normalized_host = nil
|
909
935
|
normalized_host = self.host.strip.downcase if self.host != nil
|
910
936
|
if normalized_host != nil
|
@@ -913,8 +939,11 @@ module Addressable
|
|
913
939
|
rescue Exception
|
914
940
|
nil
|
915
941
|
end
|
942
|
+
if normalized_host[-1..-1] == "."
|
943
|
+
normalized_host = normalized_host[0...-1]
|
944
|
+
end
|
916
945
|
end
|
917
|
-
|
946
|
+
|
918
947
|
normalized_port = self.port
|
919
948
|
if self.class.scheme_mapping[normalized_scheme] == normalized_port
|
920
949
|
normalized_port = nil
|
@@ -1117,6 +1146,8 @@ module Addressable
|
|
1117
1146
|
private
|
1118
1147
|
# Resolves paths to their simplest form.
|
1119
1148
|
def self.normalize_path(path)
|
1149
|
+
# Section 5.2.4 of RFC 3986
|
1150
|
+
|
1120
1151
|
return nil if path.nil?
|
1121
1152
|
normalized_path = path.dup
|
1122
1153
|
previous_state = normalized_path.dup
|