addressable 0.1.1 → 0.1.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 +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
@@ -556,7 +556,7 @@ span.run100 {
|
|
556
556
|
</head>
|
557
557
|
<body>
|
558
558
|
<h3>C0 code coverage information</h3>
|
559
|
-
<p>Generated on
|
559
|
+
<p>Generated on Sun Oct 28 17:27:34 -0400 2007 with <a href='http://eigenclass.org/hiki.rb?rcov'>rcov 0.8.0</a>
|
560
560
|
</p>
|
561
561
|
<hr /><pre><span class='marked0'>Code reported as executed by Ruby looks like this...
|
562
562
|
</span><span class='marked1'>and this: this line is also marked as covered.
|
@@ -619,38 +619,38 @@ span.run100 {
|
|
619
619
|
</td>
|
620
620
|
</tr>
|
621
621
|
</tbody>
|
622
|
-
</table><pre><span class="
|
623
|
-
</span><span class="
|
624
|
-
</span><span class="
|
625
|
-
</span><span class="
|
626
|
-
</span><span class="
|
627
|
-
</span><span class="
|
628
|
-
</span><span class="
|
629
|
-
</span><span class="
|
630
|
-
</span><span class="
|
631
|
-
</span><span class="
|
632
|
-
</span><span class="
|
633
|
-
</span><span class="
|
634
|
-
</span><span class="
|
635
|
-
</span><span class="
|
636
|
-
</span><span class="
|
637
|
-
</span><span class="
|
638
|
-
</span><span class="
|
639
|
-
</span><span class="
|
640
|
-
</span><span class="
|
641
|
-
</span><span class="
|
642
|
-
</span><span class="
|
643
|
-
</span><span class="
|
644
|
-
</span><span class="
|
645
|
-
</span><span class="
|
646
|
-
</span><span class="
|
647
|
-
</span><span class="
|
648
|
-
</span><span class="
|
649
|
-
</span><span class="
|
650
|
-
</span><span class="
|
651
|
-
</span><span class="
|
652
|
-
</span><span class="
|
653
|
-
</span><span class="
|
622
|
+
</table><pre><span class="inferred1"><a name="line1" /> 1 #--
|
623
|
+
</span><span class="inferred0"><a name="line2" /> 2 # Addressable, Copyright (c) 2006-2007 Bob Aman
|
624
|
+
</span><span class="inferred1"><a name="line3" /> 3 #
|
625
|
+
</span><span class="inferred0"><a name="line4" /> 4 # Permission is hereby granted, free of charge, to any person obtaining
|
626
|
+
</span><span class="inferred1"><a name="line5" /> 5 # a copy of this software and associated documentation files (the
|
627
|
+
</span><span class="inferred0"><a name="line6" /> 6 # "Software"), to deal in the Software without restriction, including
|
628
|
+
</span><span class="inferred1"><a name="line7" /> 7 # without limitation the rights to use, copy, modify, merge, publish,
|
629
|
+
</span><span class="inferred0"><a name="line8" /> 8 # distribute, sublicense, and/or sell copies of the Software, and to
|
630
|
+
</span><span class="inferred1"><a name="line9" /> 9 # permit persons to whom the Software is furnished to do so, subject to
|
631
|
+
</span><span class="inferred0"><a name="line10" />10 # the following conditions:
|
632
|
+
</span><span class="inferred1"><a name="line11" />11 #
|
633
|
+
</span><span class="inferred0"><a name="line12" />12 # The above copyright notice and this permission notice shall be
|
634
|
+
</span><span class="inferred1"><a name="line13" />13 # included in all copies or substantial portions of the Software.
|
635
|
+
</span><span class="inferred0"><a name="line14" />14 #
|
636
|
+
</span><span class="inferred1"><a name="line15" />15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
637
|
+
</span><span class="inferred0"><a name="line16" />16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
638
|
+
</span><span class="inferred1"><a name="line17" />17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
639
|
+
</span><span class="inferred0"><a name="line18" />18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
640
|
+
</span><span class="inferred1"><a name="line19" />19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
641
|
+
</span><span class="inferred0"><a name="line20" />20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
642
|
+
</span><span class="inferred1"><a name="line21" />21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
643
|
+
</span><span class="inferred0"><a name="line22" />22 #++
|
644
|
+
</span><span class="inferred1"><a name="line23" />23
|
645
|
+
</span><span class="marked0"><a name="line24" />24 module Addressable
|
646
|
+
</span><span class="marked1"><a name="line25" />25 module ADDRESSABLE_VERSION #:nodoc:
|
647
|
+
</span><span class="marked0"><a name="line26" />26 MAJOR = 0
|
648
|
+
</span><span class="marked1"><a name="line27" />27 MINOR = 1
|
649
|
+
</span><span class="marked0"><a name="line28" />28 TINY = 2
|
650
|
+
</span><span class="inferred1"><a name="line29" />29
|
651
|
+
</span><span class="marked0"><a name="line30" />30 STRING = [MAJOR, MINOR, TINY].join('.')
|
652
|
+
</span><span class="inferred1"><a name="line31" />31 end
|
653
|
+
</span><span class="inferred0"><a name="line32" />32 end
|
654
654
|
</span></pre><hr /> <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a> version 0.8.0.</p><p>
|
655
655
|
<a href='http://validator.w3.org/check/referer'>
|
656
656
|
<img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
|
@@ -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</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</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">
|
@@ -81,7 +81,7 @@
|
|
81
81
|
<div id="description">
|
82
82
|
<p>
|
83
83
|
This is an implementation of a <a href="URI.html">URI</a> parser based on
|
84
|
-
RFC 3986.
|
84
|
+
RFC 3986, 3987.
|
85
85
|
</p>
|
86
86
|
|
87
87
|
</div>
|
@@ -94,18 +94,18 @@ RFC 3986.
|
|
94
94
|
|
95
95
|
<div class="name-list">
|
96
96
|
<a href="#M000040">+</a>
|
97
|
-
<a href="#
|
98
|
-
<a href="#
|
97
|
+
<a href="#M000051">==</a>
|
98
|
+
<a href="#M000050">===</a>
|
99
99
|
<a href="#M000039">absolute?</a>
|
100
100
|
<a href="#M000022">authority</a>
|
101
101
|
<a href="#M000023">authority=</a>
|
102
102
|
<a href="#M000031">basename</a>
|
103
103
|
<a href="#M000002">convert_path</a>
|
104
|
-
<a href="#
|
105
|
-
<a href="#
|
104
|
+
<a href="#M000049">display_uri</a>
|
105
|
+
<a href="#M000053">dup</a>
|
106
106
|
<a href="#M000008">encode</a>
|
107
107
|
<a href="#M000006">encode_segment</a>
|
108
|
-
<a href="#
|
108
|
+
<a href="#M000052">eql?</a>
|
109
109
|
<a href="#M000003">expand_template</a>
|
110
110
|
<a href="#M000032">extname</a>
|
111
111
|
<a href="#M000010">extract</a>
|
@@ -114,15 +114,17 @@ RFC 3986.
|
|
114
114
|
<a href="#M000036">fragment=</a>
|
115
115
|
<a href="#M000020">host</a>
|
116
116
|
<a href="#M000021">host=</a>
|
117
|
-
<a href="#
|
117
|
+
<a href="#M000056">inspect</a>
|
118
118
|
<a href="#M000037">ip_based?</a>
|
119
119
|
<a href="#M000024">ip_based_schemes</a>
|
120
|
+
<a href="#M000042">join</a>
|
120
121
|
<a href="#M000005">join</a>
|
122
|
+
<a href="#M000044">join!</a>
|
121
123
|
<a href="#M000041">merge</a>
|
122
|
-
<a href="#
|
124
|
+
<a href="#M000043">merge!</a>
|
123
125
|
<a href="#M000011">new</a>
|
124
|
-
<a href="#
|
125
|
-
<a href="#
|
126
|
+
<a href="#M000047">normalize</a>
|
127
|
+
<a href="#M000048">normalize!</a>
|
126
128
|
<a href="#M000009">normalized_encode</a>
|
127
129
|
<a href="#M000001">parse</a>
|
128
130
|
<a href="#M000016">password</a>
|
@@ -134,14 +136,14 @@ RFC 3986.
|
|
134
136
|
<a href="#M000033">query</a>
|
135
137
|
<a href="#M000034">query=</a>
|
136
138
|
<a href="#M000038">relative?</a>
|
137
|
-
<a href="#
|
138
|
-
<a href="#
|
139
|
+
<a href="#M000045">route_from</a>
|
140
|
+
<a href="#M000046">route_to</a>
|
139
141
|
<a href="#M000012">scheme</a>
|
140
142
|
<a href="#M000013">scheme=</a>
|
141
143
|
<a href="#M000025">scheme_mapping</a>
|
142
144
|
<a href="#M000028">specified_port</a>
|
143
|
-
<a href="#
|
144
|
-
<a href="#
|
145
|
+
<a href="#M000055">to_h</a>
|
146
|
+
<a href="#M000054">to_s</a>
|
145
147
|
<a href="#M000007">unencode_segment</a>
|
146
148
|
<a href="#M000014">user</a>
|
147
149
|
<a href="#M000015">user=</a>
|
@@ -265,28 +267,28 @@ This method does not take IRIs or IDNs into account.
|
|
265
267
|
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
266
268
|
<div class="method-source-code" id="M000008-source">
|
267
269
|
<pre>
|
268
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
270
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 334</span>
|
271
|
+
334: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-identifier">uri</span>)
|
272
|
+
335: <span class="ruby-identifier">uri_object</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
273
|
+
336: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
274
|
+
337: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">scheme</span>,
|
275
|
+
338: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">SCHEME</span>),
|
276
|
+
339: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">user</span>,
|
277
|
+
340: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
278
|
+
341: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">password</span>,
|
279
|
+
342: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
280
|
+
343: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">host</span>,
|
281
|
+
344: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
282
|
+
345: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">specified_port</span>,
|
283
|
+
346: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
284
|
+
347: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">path</span>,
|
285
|
+
348: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH</span>),
|
286
|
+
349: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">query</span>,
|
287
|
+
350: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">QUERY</span>),
|
288
|
+
351: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">fragment</span>,
|
289
|
+
352: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">FRAGMENT</span>)
|
290
|
+
353: ).<span class="ruby-identifier">to_s</span>
|
291
|
+
354: <span class="ruby-keyword kw">end</span>
|
290
292
|
</pre>
|
291
293
|
</div>
|
292
294
|
</div>
|
@@ -323,17 +325,17 @@ An example:
|
|
323
325
|
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
324
326
|
<div class="method-source-code" id="M000006-source">
|
325
327
|
<pre>
|
326
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
328
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 312</span>
|
329
|
+
312: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segment</span>, <span class="ruby-identifier">character_class</span>=
|
330
|
+
313: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">RESERVED</span> <span class="ruby-operator">+</span>
|
331
|
+
314: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">UNRESERVED</span>)
|
332
|
+
315: <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">segment</span>.<span class="ruby-identifier">nil?</span>
|
333
|
+
316: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">segment</span>.<span class="ruby-identifier">gsub</span>(
|
334
|
+
317: <span class="ruby-node">/[^#{character_class}]/</span>
|
335
|
+
318: ) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sequence</span><span class="ruby-operator">|</span>
|
336
|
+
319: (<span class="ruby-value str">"%"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sequence</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C'</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span>(<span class="ruby-value">16</span>).<span class="ruby-identifier">upcase</span>)
|
337
|
+
320: <span class="ruby-keyword kw">end</span>
|
338
|
+
321: <span class="ruby-keyword kw">end</span>
|
337
339
|
</pre>
|
338
340
|
</div>
|
339
341
|
</div>
|
@@ -437,58 +439,58 @@ Extracts uris from an arbitrary body of text.
|
|
437
439
|
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
438
440
|
<div class="method-source-code" id="M000010-source">
|
439
441
|
<pre>
|
440
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
442
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 400</span>
|
443
|
+
400: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">extract</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">options</span>={})
|
444
|
+
401: <span class="ruby-identifier">defaults</span> = {<span class="ruby-identifier">:base</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">:parse</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">false</span>}
|
445
|
+
402: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)
|
446
|
+
403: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOptionError</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">options</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">keys</span>).<span class="ruby-identifier">empty?</span>
|
447
|
+
404: <span class="ruby-comment cmt"># This regular expression needs to be less forgiving or else it would</span>
|
448
|
+
405: <span class="ruby-comment cmt"># match virtually all text. Which isn't exactly what we're going for.</span>
|
449
|
+
406: <span class="ruby-identifier">extract_regex</span> = <span class="ruby-regexp re">/((([a-z\+]+):)[^ \n\<\>\"\\]+[\w\/])/</span>
|
450
|
+
407: <span class="ruby-identifier">extracted_uris</span> =
|
451
|
+
408: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">extract_regex</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span>] }
|
452
|
+
409: <span class="ruby-identifier">sgml_extract_regex</span> = <span class="ruby-regexp re">/<[^>]+href=\"([^\"]+?)\"[^>]*>/</span>
|
453
|
+
410: <span class="ruby-identifier">sgml_extracted_uris</span> =
|
454
|
+
411: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">sgml_extract_regex</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span>] }
|
455
|
+
412: <span class="ruby-identifier">extracted_uris</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">sgml_extracted_uris</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">extracted_uris</span>)
|
456
|
+
413: <span class="ruby-identifier">textile_extract_regex</span> = <span class="ruby-regexp re">/\".+?\":([^ ]+\/[^ ]+)[ \,\.\;\:\?\!\<\>\"]/i</span>
|
457
|
+
414: <span class="ruby-identifier">textile_extracted_uris</span> =
|
458
|
+
415: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">textile_extract_regex</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span>] }
|
459
|
+
416: <span class="ruby-identifier">extracted_uris</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">textile_extracted_uris</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">extracted_uris</span>)
|
460
|
+
417: <span class="ruby-identifier">parsed_uris</span> = []
|
461
|
+
418: <span class="ruby-identifier">base_uri</span> = <span class="ruby-keyword kw">nil</span>
|
462
|
+
419: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:base</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
463
|
+
420: <span class="ruby-identifier">base_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:base</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:base</span>].<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>)
|
464
|
+
421: <span class="ruby-identifier">base_uri</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:base</span>].<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
465
|
+
422: <span class="ruby-keyword kw">end</span>
|
466
|
+
423: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">uri_string</span> <span class="ruby-keyword kw">in</span> <span class="ruby-identifier">extracted_uris</span>
|
467
|
+
424: <span class="ruby-keyword kw">begin</span>
|
468
|
+
425: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
469
|
+
426: <span class="ruby-identifier">parsed_uris</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri_string</span>)
|
470
|
+
427: <span class="ruby-keyword kw">else</span>
|
471
|
+
428: <span class="ruby-identifier">parsed_uris</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">base_uri</span> <span class="ruby-operator">+</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri_string</span>))
|
472
|
+
429: <span class="ruby-keyword kw">end</span>
|
473
|
+
430: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
474
|
+
431: <span class="ruby-keyword kw">nil</span>
|
475
|
+
432: <span class="ruby-keyword kw">end</span>
|
476
|
+
433: <span class="ruby-keyword kw">end</span>
|
477
|
+
434: <span class="ruby-identifier">parsed_uris</span>.<span class="ruby-identifier">reject!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span>
|
478
|
+
435: (<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/T\d+/</span> <span class="ruby-operator">||</span>
|
479
|
+
436: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"xmlns"</span> <span class="ruby-operator">||</span>
|
480
|
+
437: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"xml"</span> <span class="ruby-operator">||</span>
|
481
|
+
438: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"thr"</span> <span class="ruby-operator">||</span>
|
482
|
+
439: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"this"</span> <span class="ruby-operator">||</span>
|
483
|
+
440: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"float"</span> <span class="ruby-operator">||</span>
|
484
|
+
441: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"user"</span> <span class="ruby-operator">||</span>
|
485
|
+
442: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"username"</span> <span class="ruby-operator">||</span>
|
486
|
+
443: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"out"</span>)
|
487
|
+
444: <span class="ruby-keyword kw">end</span>
|
488
|
+
445: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:parse</span>]
|
489
|
+
446: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parsed_uris</span>
|
490
|
+
447: <span class="ruby-keyword kw">else</span>
|
491
|
+
448: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parsed_uris</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span> }
|
492
|
+
449: <span class="ruby-keyword kw">end</span>
|
493
|
+
450: <span class="ruby-keyword kw">end</span>
|
492
494
|
</pre>
|
493
495
|
</div>
|
494
496
|
</div>
|
@@ -517,10 +519,10 @@ href="URI.html#M000029">path</a>>
|
|
517
519
|
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
518
520
|
<div class="method-source-code" id="M000024-source">
|
519
521
|
<pre>
|
520
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
521
|
-
|
522
|
-
|
523
|
-
|
522
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 625</span>
|
523
|
+
625: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">ip_based_schemes</span>
|
524
|
+
626: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme_mapping</span>.<span class="ruby-identifier">keys</span>
|
525
|
+
627: <span class="ruby-keyword kw">end</span>
|
524
526
|
</pre>
|
525
527
|
</div>
|
526
528
|
</div>
|
@@ -543,17 +545,17 @@ Joins several uris together.
|
|
543
545
|
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
544
546
|
<div class="method-source-code" id="M000005-source">
|
545
547
|
<pre>
|
546
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
548
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 289</span>
|
549
|
+
289: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">join</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">uris</span>)
|
550
|
+
290: <span class="ruby-identifier">uri_objects</span> = <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span>
|
551
|
+
291: <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
552
|
+
292: <span class="ruby-keyword kw">end</span>
|
553
|
+
293: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">uri_objects</span>.<span class="ruby-identifier">shift</span>.<span class="ruby-identifier">dup</span>
|
554
|
+
294: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">uri</span> <span class="ruby-keyword kw">in</span> <span class="ruby-identifier">uri_objects</span>
|
555
|
+
295: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">uri</span>)
|
556
|
+
296: <span class="ruby-keyword kw">end</span>
|
557
|
+
297: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
558
|
+
298: <span class="ruby-keyword kw">end</span>
|
557
559
|
</pre>
|
558
560
|
</div>
|
559
561
|
</div>
|
@@ -577,28 +579,28 @@ parts. Passing nil for any of these parameters is acceptable.
|
|
577
579
|
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
578
580
|
<div class="method-source-code" id="M000011-source">
|
579
581
|
<pre>
|
580
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
582
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 454</span>
|
583
|
+
454: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">scheme</span>, <span class="ruby-identifier">user</span>, <span class="ruby-identifier">password</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">port</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">fragment</span>)
|
584
|
+
455: <span class="ruby-ivar">@scheme</span> = <span class="ruby-identifier">scheme</span>
|
585
|
+
456: <span class="ruby-ivar">@scheme</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scheme</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
586
|
+
457: <span class="ruby-ivar">@user</span> = <span class="ruby-identifier">user</span>
|
587
|
+
458: <span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
588
|
+
459: <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">host</span>
|
589
|
+
460: <span class="ruby-ivar">@specified_port</span> = <span class="ruby-identifier">port</span>.<span class="ruby-identifier">to_s</span>
|
590
|
+
461: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">port</span>
|
591
|
+
462: <span class="ruby-ivar">@port</span> = <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Fixnum</span>)
|
592
|
+
463: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span>(<span class="ruby-ivar">@port</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\d+$/</span>)
|
593
|
+
464: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidURIError</span>,
|
594
|
+
465: <span class="ruby-node">"Invalid port number: #{@port.inspect}"</span>
|
595
|
+
466: <span class="ruby-keyword kw">end</span>
|
596
|
+
467: <span class="ruby-ivar">@port</span> = <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span>
|
597
|
+
468: <span class="ruby-ivar">@port</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
598
|
+
469: <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">path</span>
|
599
|
+
470: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">query</span>
|
600
|
+
471: <span class="ruby-ivar">@fragment</span> = <span class="ruby-identifier">fragment</span>
|
601
|
+
472:
|
602
|
+
473: <span class="ruby-identifier">validate</span>()
|
603
|
+
474: <span class="ruby-keyword kw">end</span>
|
602
604
|
</pre>
|
603
605
|
</div>
|
604
606
|
</div>
|
@@ -623,43 +625,43 @@ names.
|
|
623
625
|
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
624
626
|
<div class="method-source-code" id="M000009-source">
|
625
627
|
<pre>
|
626
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
628
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 362</span>
|
629
|
+
362: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalized_encode</span>(<span class="ruby-identifier">uri</span>)
|
630
|
+
363: <span class="ruby-identifier">uri_object</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
631
|
+
364: <span class="ruby-identifier">segments</span> = {
|
632
|
+
365: <span class="ruby-identifier">:scheme</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">scheme</span>),
|
633
|
+
366: <span class="ruby-identifier">:user</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">user</span>),
|
634
|
+
367: <span class="ruby-identifier">:password</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">password</span>),
|
635
|
+
368: <span class="ruby-identifier">:host</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">host</span>),
|
636
|
+
369: <span class="ruby-identifier">:port</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">specified_port</span>),
|
637
|
+
370: <span class="ruby-identifier">:path</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">path</span>),
|
638
|
+
371: <span class="ruby-identifier">:query</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">query</span>),
|
639
|
+
372: <span class="ruby-identifier">:fragment</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">uri_object</span>.<span class="ruby-identifier">fragment</span>)
|
640
|
+
373: }
|
641
|
+
374: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">IDNA</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">:use_libidn?</span>)
|
642
|
+
375: <span class="ruby-identifier">segments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
643
|
+
376: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
644
|
+
377: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-constant">IDN</span><span class="ruby-operator">::</span><span class="ruby-constant">Stringprep</span>.<span class="ruby-identifier">nfkc_normalize</span>(<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>)
|
645
|
+
378: <span class="ruby-keyword kw">end</span>
|
646
|
+
379: <span class="ruby-keyword kw">end</span>
|
647
|
+
380: <span class="ruby-keyword kw">end</span>
|
648
|
+
381: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
649
|
+
382: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>],
|
650
|
+
383: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">SCHEME</span>),
|
651
|
+
384: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:user</span>],
|
652
|
+
385: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
653
|
+
386: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:password</span>],
|
654
|
+
387: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORITY</span>),
|
655
|
+
388: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:host</span>],
|
656
|
+
389: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:port</span>],
|
657
|
+
390: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:path</span>],
|
658
|
+
391: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH</span>),
|
659
|
+
392: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:query</span>],
|
660
|
+
393: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">QUERY</span>),
|
661
|
+
394: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode_segment</span>(<span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:fragment</span>],
|
662
|
+
395: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">CharacterClasses</span><span class="ruby-operator">::</span><span class="ruby-constant">FRAGMENT</span>)
|
663
|
+
396: ).<span class="ruby-identifier">to_s</span>
|
664
|
+
397: <span class="ruby-keyword kw">end</span>
|
663
665
|
</pre>
|
664
666
|
</div>
|
665
667
|
</div>
|
@@ -768,26 +770,26 @@ allow for better <a href="URI.html">URI</a> normalization.
|
|
768
770
|
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
769
771
|
<div class="method-source-code" id="M000025-source">
|
770
772
|
<pre>
|
771
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
773
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 632</span>
|
774
|
+
632: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme_mapping</span>
|
775
|
+
633: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-ivar">@protocol_mapping</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@protocol_mapping</span>.<span class="ruby-identifier">nil?</span>
|
776
|
+
634: <span class="ruby-ivar">@protocol_mapping</span> = {
|
777
|
+
635: <span class="ruby-value str">"http"</span> =<span class="ruby-operator">></span> <span class="ruby-value">80</span>,
|
778
|
+
636: <span class="ruby-value str">"https"</span> =<span class="ruby-operator">></span> <span class="ruby-value">443</span>,
|
779
|
+
637: <span class="ruby-value str">"ftp"</span> =<span class="ruby-operator">></span> <span class="ruby-value">21</span>,
|
780
|
+
638: <span class="ruby-value str">"tftp"</span> =<span class="ruby-operator">></span> <span class="ruby-value">69</span>,
|
781
|
+
639: <span class="ruby-value str">"ssh"</span> =<span class="ruby-operator">></span> <span class="ruby-value">22</span>,
|
782
|
+
640: <span class="ruby-value str">"svn+ssh"</span> =<span class="ruby-operator">></span> <span class="ruby-value">22</span>,
|
783
|
+
641: <span class="ruby-value str">"telnet"</span> =<span class="ruby-operator">></span> <span class="ruby-value">23</span>,
|
784
|
+
642: <span class="ruby-value str">"nntp"</span> =<span class="ruby-operator">></span> <span class="ruby-value">119</span>,
|
785
|
+
643: <span class="ruby-value str">"gopher"</span> =<span class="ruby-operator">></span> <span class="ruby-value">70</span>,
|
786
|
+
644: <span class="ruby-value str">"wais"</span> =<span class="ruby-operator">></span> <span class="ruby-value">210</span>,
|
787
|
+
645: <span class="ruby-value str">"ldap"</span> =<span class="ruby-operator">></span> <span class="ruby-value">389</span>,
|
788
|
+
646: <span class="ruby-value str">"prospero"</span> =<span class="ruby-operator">></span> <span class="ruby-value">1525</span>
|
789
|
+
647: }
|
790
|
+
648: <span class="ruby-keyword kw">end</span>
|
791
|
+
649: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@protocol_mapping</span>
|
792
|
+
650: <span class="ruby-keyword kw">end</span>
|
791
793
|
</pre>
|
792
794
|
</div>
|
793
795
|
</div>
|
@@ -811,13 +813,13 @@ href="URI.html">URI</a> segment. Returns a string.
|
|
811
813
|
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
812
814
|
<div class="method-source-code" id="M000007-source">
|
813
815
|
<pre>
|
814
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
816
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 325</span>
|
817
|
+
325: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unencode_segment</span>(<span class="ruby-identifier">segment</span>)
|
818
|
+
326: <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">segment</span>.<span class="ruby-identifier">nil?</span>
|
819
|
+
327: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">segment</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/%[0-9a-f]{2}/i</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sequence</span><span class="ruby-operator">|</span>
|
820
|
+
328: <span class="ruby-identifier">sequence</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>].<span class="ruby-identifier">to_i</span>(<span class="ruby-value">16</span>).<span class="ruby-identifier">chr</span>
|
821
|
+
329: <span class="ruby-keyword kw">end</span>
|
822
|
+
330: <span class="ruby-keyword kw">end</span>
|
821
823
|
</pre>
|
822
824
|
</div>
|
823
825
|
</div>
|
@@ -842,90 +844,106 @@ Joins two URIs together.
|
|
842
844
|
onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
|
843
845
|
<div class="method-source-code" id="M000040-source">
|
844
846
|
<pre>
|
845
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
847
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 748</span>
|
848
|
+
748: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">uri</span>)
|
849
|
+
749: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
|
850
|
+
750: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
851
|
+
751: <span class="ruby-keyword kw">end</span>
|
852
|
+
752: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
853
|
+
753: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
|
854
|
+
754: <span class="ruby-keyword kw">end</span>
|
855
|
+
755:
|
856
|
+
756: <span class="ruby-identifier">joined_scheme</span> = <span class="ruby-keyword kw">nil</span>
|
857
|
+
757: <span class="ruby-identifier">joined_user</span> = <span class="ruby-keyword kw">nil</span>
|
858
|
+
758: <span class="ruby-identifier">joined_password</span> = <span class="ruby-keyword kw">nil</span>
|
859
|
+
759: <span class="ruby-identifier">joined_host</span> = <span class="ruby-keyword kw">nil</span>
|
860
|
+
760: <span class="ruby-identifier">joined_port</span> = <span class="ruby-keyword kw">nil</span>
|
861
|
+
761: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">nil</span>
|
862
|
+
762: <span class="ruby-identifier">joined_query</span> = <span class="ruby-keyword kw">nil</span>
|
863
|
+
763: <span class="ruby-identifier">joined_fragment</span> = <span class="ruby-keyword kw">nil</span>
|
864
|
+
764:
|
865
|
+
765: <span class="ruby-comment cmt"># Section 5.2.2 of RFC 3986</span>
|
866
|
+
766: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
867
|
+
767: <span class="ruby-identifier">joined_scheme</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span>
|
868
|
+
768: <span class="ruby-identifier">joined_user</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">user</span>
|
869
|
+
769: <span class="ruby-identifier">joined_password</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">password</span>
|
870
|
+
770: <span class="ruby-identifier">joined_host</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>
|
871
|
+
771: <span class="ruby-identifier">joined_port</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">specified_port</span>
|
872
|
+
772: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>)
|
873
|
+
773: <span class="ruby-identifier">joined_query</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
874
|
+
774: <span class="ruby-keyword kw">else</span>
|
875
|
+
775: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">authority</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
876
|
+
776: <span class="ruby-identifier">joined_user</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">user</span>
|
877
|
+
777: <span class="ruby-identifier">joined_password</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">password</span>
|
878
|
+
778: <span class="ruby-identifier">joined_host</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>
|
879
|
+
779: <span class="ruby-identifier">joined_port</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">specified_port</span>
|
880
|
+
780: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>)
|
881
|
+
781: <span class="ruby-identifier">joined_query</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
882
|
+
782: <span class="ruby-keyword kw">else</span>
|
883
|
+
783: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
884
|
+
784: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>
|
885
|
+
785: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
886
|
+
786: <span class="ruby-identifier">joined_query</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
887
|
+
787: <span class="ruby-keyword kw">else</span>
|
888
|
+
788: <span class="ruby-identifier">joined_query</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span>
|
889
|
+
789: <span class="ruby-keyword kw">end</span>
|
890
|
+
790: <span class="ruby-keyword kw">else</span>
|
891
|
+
791: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">"/"</span>
|
892
|
+
792: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>)
|
893
|
+
793: <span class="ruby-keyword kw">else</span>
|
894
|
+
794: <span class="ruby-identifier">base_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dup</span>
|
895
|
+
795: <span class="ruby-identifier">base_path</span> = <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
896
|
+
796: <span class="ruby-identifier">base_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">base_path</span>)
|
897
|
+
797:
|
898
|
+
798: <span class="ruby-comment cmt"># Section 5.2.3 of RFC 3986</span>
|
899
|
+
799: <span class="ruby-comment cmt">#</span>
|
900
|
+
800: <span class="ruby-comment cmt"># Removes the right-most path segment from the base path.</span>
|
901
|
+
801: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_path</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\//</span>
|
902
|
+
802: <span class="ruby-identifier">base_path</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\/[^\/]+$/</span>, <span class="ruby-value str">"/"</span>)
|
903
|
+
803: <span class="ruby-keyword kw">else</span>
|
904
|
+
804: <span class="ruby-identifier">base_path</span> = <span class="ruby-value str">""</span>
|
905
|
+
805: <span class="ruby-keyword kw">end</span>
|
906
|
+
806:
|
907
|
+
807: <span class="ruby-comment cmt"># If the base path is empty and an authority segment has been</span>
|
908
|
+
808: <span class="ruby-comment cmt"># defined, use a base path of "/"</span>
|
909
|
+
809: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_path</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span> <span class="ruby-operator">&&</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">authority</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
910
|
+
810: <span class="ruby-identifier">base_path</span> = <span class="ruby-value str">"/"</span>
|
911
|
+
811: <span class="ruby-keyword kw">end</span>
|
912
|
+
812:
|
913
|
+
813: <span class="ruby-identifier">joined_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">base_path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>)
|
914
|
+
814: <span class="ruby-keyword kw">end</span>
|
915
|
+
815: <span class="ruby-identifier">joined_query</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
916
|
+
816: <span class="ruby-keyword kw">end</span>
|
917
|
+
817: <span class="ruby-identifier">joined_user</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span>
|
918
|
+
818: <span class="ruby-identifier">joined_password</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span>
|
919
|
+
819: <span class="ruby-identifier">joined_host</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>
|
920
|
+
820: <span class="ruby-identifier">joined_port</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">specified_port</span>
|
921
|
+
821: <span class="ruby-keyword kw">end</span>
|
922
|
+
822: <span class="ruby-identifier">joined_scheme</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>
|
923
|
+
823: <span class="ruby-keyword kw">end</span>
|
924
|
+
824: <span class="ruby-identifier">joined_fragment</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">fragment</span>
|
925
|
+
825:
|
926
|
+
826: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
927
|
+
827: <span class="ruby-identifier">joined_scheme</span>,
|
928
|
+
828: <span class="ruby-identifier">joined_user</span>,
|
929
|
+
829: <span class="ruby-identifier">joined_password</span>,
|
930
|
+
830: <span class="ruby-identifier">joined_host</span>,
|
931
|
+
831: <span class="ruby-identifier">joined_port</span>,
|
932
|
+
832: <span class="ruby-identifier">joined_path</span>,
|
933
|
+
833: <span class="ruby-identifier">joined_query</span>,
|
934
|
+
834: <span class="ruby-identifier">joined_fragment</span>
|
935
|
+
835: )
|
936
|
+
836: <span class="ruby-keyword kw">end</span>
|
919
937
|
</pre>
|
920
938
|
</div>
|
921
939
|
</div>
|
922
940
|
</div>
|
923
941
|
|
924
|
-
<div id="method-
|
925
|
-
<a name="
|
942
|
+
<div id="method-M000051" class="method-detail">
|
943
|
+
<a name="M000051"></a>
|
926
944
|
|
927
945
|
<div class="method-heading">
|
928
|
-
<a href="#
|
946
|
+
<a href="#M000051" class="method-signature">
|
929
947
|
<span class="method-name">==</span><span class="method-args">(uri)</span>
|
930
948
|
</a>
|
931
949
|
</div>
|
@@ -936,24 +954,24 @@ Returns true if the <a href="URI.html">URI</a> objects are equal. This
|
|
936
954
|
method normalizes both URIs before doing the comparison.
|
937
955
|
</p>
|
938
956
|
<p><a class="source-toggle" href="#"
|
939
|
-
onclick="toggleCode('
|
940
|
-
<div class="method-source-code" id="
|
957
|
+
onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
|
958
|
+
<div class="method-source-code" id="M000051-source">
|
941
959
|
<pre>
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
960
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1023</span>
|
961
|
+
1023: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">uri</span>)
|
962
|
+
1024: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
|
963
|
+
1025: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span>
|
964
|
+
1026: <span class="ruby-keyword kw">end</span>
|
947
965
|
</pre>
|
948
966
|
</div>
|
949
967
|
</div>
|
950
968
|
</div>
|
951
969
|
|
952
|
-
<div id="method-
|
953
|
-
<a name="
|
970
|
+
<div id="method-M000050" class="method-detail">
|
971
|
+
<a name="M000050"></a>
|
954
972
|
|
955
973
|
<div class="method-heading">
|
956
|
-
<a href="#
|
974
|
+
<a href="#M000050" class="method-signature">
|
957
975
|
<span class="method-name">===</span><span class="method-args">(uri)</span>
|
958
976
|
</a>
|
959
977
|
</div>
|
@@ -965,23 +983,23 @@ method normalizes both URIs before doing the comparison, and allows
|
|
965
983
|
comparison against strings.
|
966
984
|
</p>
|
967
985
|
<p><a class="source-toggle" href="#"
|
968
|
-
onclick="toggleCode('
|
969
|
-
<div class="method-source-code" id="
|
986
|
+
onclick="toggleCode('M000050-source');return false;">[Source]</a></p>
|
987
|
+
<div class="method-source-code" id="M000050-source">
|
970
988
|
<pre>
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
989
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1007</span>
|
990
|
+
1007: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">uri</span>)
|
991
|
+
1008: <span class="ruby-identifier">uri_string</span> = <span class="ruby-keyword kw">nil</span>
|
992
|
+
1009: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:normalize</span>)
|
993
|
+
1010: <span class="ruby-identifier">uri_string</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span>
|
994
|
+
1011: <span class="ruby-keyword kw">else</span>
|
995
|
+
1012: <span class="ruby-keyword kw">begin</span>
|
996
|
+
1013: <span class="ruby-identifier">uri_string</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span>
|
997
|
+
1014: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
998
|
+
1015: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
999
|
+
1016: <span class="ruby-keyword kw">end</span>
|
1000
|
+
1017: <span class="ruby-keyword kw">end</span>
|
1001
|
+
1018: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri_string</span>
|
1002
|
+
1019: <span class="ruby-keyword kw">end</span>
|
985
1003
|
</pre>
|
986
1004
|
</div>
|
987
1005
|
</div>
|
@@ -1004,10 +1022,10 @@ Returns true if this <a href="URI.html">URI</a> is known to be absolute.
|
|
1004
1022
|
onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
|
1005
1023
|
<div class="method-source-code" id="M000039-source">
|
1006
1024
|
<pre>
|
1007
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1025
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 743</span>
|
1026
|
+
743: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">absolute?</span>
|
1027
|
+
744: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">relative?</span>
|
1028
|
+
745: <span class="ruby-keyword kw">end</span>
|
1011
1029
|
</pre>
|
1012
1030
|
</div>
|
1013
1031
|
</div>
|
@@ -1031,21 +1049,21 @@ href="URI.html">URI</a>.
|
|
1031
1049
|
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
1032
1050
|
<div class="method-source-code" id="M000022-source">
|
1033
1051
|
<pre>
|
1034
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1052
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 579</span>
|
1053
|
+
579: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">authority</span>
|
1054
|
+
580: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-ivar">@authority</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@authority</span>.<span class="ruby-identifier">nil?</span>
|
1055
|
+
581: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>.<span class="ruby-identifier">nil?</span>
|
1056
|
+
582: <span class="ruby-ivar">@authority</span> = <span class="ruby-value str">""</span>
|
1057
|
+
583: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">userinfo</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1058
|
+
584: <span class="ruby-ivar">@authority</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{self.userinfo}@"</span>
|
1059
|
+
585: <span class="ruby-keyword kw">end</span>
|
1060
|
+
586: <span class="ruby-ivar">@authority</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>
|
1061
|
+
587: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">specified_port</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1062
|
+
588: <span class="ruby-ivar">@authority</span> <span class="ruby-operator"><<</span> <span class="ruby-node">":#{self.specified_port}"</span>
|
1063
|
+
589: <span class="ruby-keyword kw">end</span>
|
1064
|
+
590: <span class="ruby-keyword kw">end</span>
|
1065
|
+
591: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@authority</span>
|
1066
|
+
592: <span class="ruby-keyword kw">end</span>
|
1049
1067
|
</pre>
|
1050
1068
|
</div>
|
1051
1069
|
</div>
|
@@ -1069,33 +1087,33 @@ href="URI.html">URI</a>.
|
|
1069
1087
|
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
1070
1088
|
<div class="method-source-code" id="M000023-source">
|
1071
1089
|
<pre>
|
1072
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1090
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 595</span>
|
1091
|
+
595: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">authority=</span>(<span class="ruby-identifier">new_authority</span>)
|
1092
|
+
596: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_authority</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1093
|
+
597: <span class="ruby-identifier">new_userinfo</span> = <span class="ruby-identifier">new_authority</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^([^\[\]]*)@/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
1094
|
+
598: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_userinfo</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1095
|
+
599: <span class="ruby-identifier">new_user</span> = <span class="ruby-identifier">new_userinfo</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^([^:]*):?/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
1096
|
+
600: <span class="ruby-identifier">new_password</span> = <span class="ruby-identifier">new_userinfo</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/:(.*)$/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
1097
|
+
601: <span class="ruby-keyword kw">end</span>
|
1098
|
+
602: <span class="ruby-identifier">new_host</span> =
|
1099
|
+
603: <span class="ruby-identifier">new_authority</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^([^\[\]]*)@/</span>, <span class="ruby-value str">""</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/:([^:@\[\]]*?)$/</span>, <span class="ruby-value str">""</span>)
|
1100
|
+
604: <span class="ruby-identifier">new_port</span> =
|
1101
|
+
605: <span class="ruby-identifier">new_authority</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/:([^:@\[\]]*?)$/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
1102
|
+
606: <span class="ruby-keyword kw">end</span>
|
1103
|
+
607: <span class="ruby-identifier">new_port</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_port</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
1104
|
+
608:
|
1105
|
+
609: <span class="ruby-comment cmt"># Password assigned first to ensure validity in case of nil</span>
|
1106
|
+
610: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span> = <span class="ruby-identifier">new_password</span>
|
1107
|
+
611: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span> = <span class="ruby-identifier">new_user</span>
|
1108
|
+
612: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span> = <span class="ruby-identifier">new_host</span>
|
1109
|
+
613:
|
1110
|
+
614: <span class="ruby-comment cmt"># Port reset to allow port normalization</span>
|
1111
|
+
615: <span class="ruby-ivar">@port</span> = <span class="ruby-keyword kw">nil</span>
|
1112
|
+
616: <span class="ruby-ivar">@specified_port</span> = <span class="ruby-identifier">new_port</span>
|
1113
|
+
617:
|
1114
|
+
618: <span class="ruby-comment cmt"># Ensure we haven't created an invalid URI</span>
|
1115
|
+
619: <span class="ruby-identifier">validate</span>()
|
1116
|
+
620: <span class="ruby-keyword kw">end</span>
|
1099
1117
|
</pre>
|
1100
1118
|
</div>
|
1101
1119
|
</div>
|
@@ -1120,21 +1138,21 @@ there is no <a href="URI.html#M000029">path</a> component.
|
|
1120
1138
|
onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
|
1121
1139
|
<div class="method-source-code" id="M000031-source">
|
1122
1140
|
<pre>
|
1123
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1141
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 698</span>
|
1142
|
+
698: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">basename</span>
|
1143
|
+
699: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
1144
|
+
700: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/;[^\/]*$/</span>, <span class="ruby-value str">""</span>)
|
1145
|
+
701: <span class="ruby-keyword kw">end</span>
|
1128
1146
|
</pre>
|
1129
1147
|
</div>
|
1130
1148
|
</div>
|
1131
1149
|
</div>
|
1132
1150
|
|
1133
|
-
<div id="method-
|
1134
|
-
<a name="
|
1151
|
+
<div id="method-M000049" class="method-detail">
|
1152
|
+
<a name="M000049"></a>
|
1135
1153
|
|
1136
1154
|
<div class="method-heading">
|
1137
|
-
<a href="#
|
1155
|
+
<a href="#M000049" class="method-signature">
|
1138
1156
|
<span class="method-name">display_uri</span><span class="method-args">()</span>
|
1139
1157
|
</a>
|
1140
1158
|
</div>
|
@@ -1147,30 +1165,30 @@ warn the <a href="URI.html#M000014">user</a>. See RFC 3986 section 7.6 for
|
|
1147
1165
|
more information.
|
1148
1166
|
</p>
|
1149
1167
|
<p><a class="source-toggle" href="#"
|
1150
|
-
onclick="toggleCode('
|
1151
|
-
<div class="method-source-code" id="
|
1168
|
+
onclick="toggleCode('M000049-source');return false;">[Source]</a></p>
|
1169
|
+
<div class="method-source-code" id="M000049-source">
|
1152
1170
|
<pre>
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
1171
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 993</span>
|
1172
|
+
993: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_uri</span>
|
1173
|
+
994: <span class="ruby-identifier">display_uri</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalize</span>
|
1174
|
+
995: <span class="ruby-keyword kw">begin</span>
|
1175
|
+
996: <span class="ruby-identifier">display_uri</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">"@host"</span>,
|
1176
|
+
997: <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">IDNA</span>.<span class="ruby-identifier">to_unicode</span>(<span class="ruby-identifier">display_uri</span>.<span class="ruby-identifier">host</span>))
|
1177
|
+
998: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
1178
|
+
999: <span class="ruby-keyword kw">nil</span>
|
1179
|
+
1000: <span class="ruby-keyword kw">end</span>
|
1180
|
+
1001: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">display_uri</span>
|
1181
|
+
1002: <span class="ruby-keyword kw">end</span>
|
1164
1182
|
</pre>
|
1165
1183
|
</div>
|
1166
1184
|
</div>
|
1167
1185
|
</div>
|
1168
1186
|
|
1169
|
-
<div id="method-
|
1170
|
-
<a name="
|
1187
|
+
<div id="method-M000053" class="method-detail">
|
1188
|
+
<a name="M000053"></a>
|
1171
1189
|
|
1172
1190
|
<div class="method-heading">
|
1173
|
-
<a href="#
|
1191
|
+
<a href="#M000053" class="method-signature">
|
1174
1192
|
<span class="method-name">dup</span><span class="method-args">()</span>
|
1175
1193
|
</a>
|
1176
1194
|
</div>
|
@@ -1180,50 +1198,50 @@ more information.
|
|
1180
1198
|
Clones the <a href="URI.html">URI</a> object.
|
1181
1199
|
</p>
|
1182
1200
|
<p><a class="source-toggle" href="#"
|
1183
|
-
onclick="toggleCode('
|
1184
|
-
<div class="method-source-code" id="
|
1201
|
+
onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
|
1202
|
+
<div class="method-source-code" id="M000053-source">
|
1185
1203
|
<pre>
|
1186
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1204
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1036</span>
|
1205
|
+
1036: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dup</span>
|
1206
|
+
1037: <span class="ruby-identifier">duplicated_scheme</span> = <span class="ruby-keyword kw">nil</span>
|
1207
|
+
1038: <span class="ruby-identifier">duplicated_scheme</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1208
|
+
1039: <span class="ruby-identifier">duplicated_user</span> = <span class="ruby-keyword kw">nil</span>
|
1209
|
+
1040: <span class="ruby-identifier">duplicated_user</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1210
|
+
1041: <span class="ruby-identifier">duplicated_password</span> = <span class="ruby-keyword kw">nil</span>
|
1211
|
+
1042: <span class="ruby-identifier">duplicated_password</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1212
|
+
1043: <span class="ruby-identifier">duplicated_host</span> = <span class="ruby-keyword kw">nil</span>
|
1213
|
+
1044: <span class="ruby-identifier">duplicated_host</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1214
|
+
1045: <span class="ruby-identifier">duplicated_port</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">port</span>
|
1215
|
+
1046: <span class="ruby-identifier">duplicated_path</span> = <span class="ruby-keyword kw">nil</span>
|
1216
|
+
1047: <span class="ruby-identifier">duplicated_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1217
|
+
1048: <span class="ruby-identifier">duplicated_query</span> = <span class="ruby-keyword kw">nil</span>
|
1218
|
+
1049: <span class="ruby-identifier">duplicated_query</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1219
|
+
1050: <span class="ruby-identifier">duplicated_fragment</span> = <span class="ruby-keyword kw">nil</span>
|
1220
|
+
1051: <span class="ruby-identifier">duplicated_fragment</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span>.<span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1221
|
+
1052: <span class="ruby-identifier">duplicated_uri</span> = <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
1222
|
+
1053: <span class="ruby-identifier">duplicated_scheme</span>,
|
1223
|
+
1054: <span class="ruby-identifier">duplicated_user</span>,
|
1224
|
+
1055: <span class="ruby-identifier">duplicated_password</span>,
|
1225
|
+
1056: <span class="ruby-identifier">duplicated_host</span>,
|
1226
|
+
1057: <span class="ruby-identifier">duplicated_port</span>,
|
1227
|
+
1058: <span class="ruby-identifier">duplicated_path</span>,
|
1228
|
+
1059: <span class="ruby-identifier">duplicated_query</span>,
|
1229
|
+
1060: <span class="ruby-identifier">duplicated_fragment</span>
|
1230
|
+
1061: )
|
1231
|
+
1062: <span class="ruby-ivar">@specified_port</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-ivar">@specified_port</span>)
|
1232
|
+
1063: <span class="ruby-identifier">duplicated_uri</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">"@specified_port"</span>, <span class="ruby-ivar">@specified_port</span>)
|
1233
|
+
1064: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">duplicated_uri</span>
|
1234
|
+
1065: <span class="ruby-keyword kw">end</span>
|
1217
1235
|
</pre>
|
1218
1236
|
</div>
|
1219
1237
|
</div>
|
1220
1238
|
</div>
|
1221
1239
|
|
1222
|
-
<div id="method-
|
1223
|
-
<a name="
|
1240
|
+
<div id="method-M000052" class="method-detail">
|
1241
|
+
<a name="M000052"></a>
|
1224
1242
|
|
1225
1243
|
<div class="method-heading">
|
1226
|
-
<a href="#
|
1244
|
+
<a href="#M000052" class="method-signature">
|
1227
1245
|
<span class="method-name">eql?</span><span class="method-args">(uri)</span>
|
1228
1246
|
</a>
|
1229
1247
|
</div>
|
@@ -1231,18 +1249,18 @@ Clones the <a href="URI.html">URI</a> object.
|
|
1231
1249
|
<div class="method-description">
|
1232
1250
|
<p>
|
1233
1251
|
Returns true if the <a href="URI.html">URI</a> objects are equal. This
|
1234
|
-
method does NOT <a href="URI.html#
|
1252
|
+
method does NOT <a href="URI.html#M000047">normalize</a> either <a
|
1235
1253
|
href="URI.html">URI</a> before doing the comparison.
|
1236
1254
|
</p>
|
1237
1255
|
<p><a class="source-toggle" href="#"
|
1238
|
-
onclick="toggleCode('
|
1239
|
-
<div class="method-source-code" id="
|
1256
|
+
onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
|
1257
|
+
<div class="method-source-code" id="M000052-source">
|
1240
1258
|
<pre>
|
1241
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1259
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1030</span>
|
1260
|
+
1030: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">uri</span>)
|
1261
|
+
1031: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
|
1262
|
+
1032: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>
|
1263
|
+
1033: <span class="ruby-keyword kw">end</span>
|
1246
1264
|
</pre>
|
1247
1265
|
</div>
|
1248
1266
|
</div>
|
@@ -1268,11 +1286,11 @@ href="URI.html#M000029">path</a> component.
|
|
1268
1286
|
onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
|
1269
1287
|
<div class="method-source-code" id="M000032-source">
|
1270
1288
|
<pre>
|
1271
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1272
|
-
|
1273
|
-
|
1274
|
-
|
1275
|
-
|
1289
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 706</span>
|
1290
|
+
706: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extname</span>
|
1291
|
+
707: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
1292
|
+
708: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">basename</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/;[^\/]*$/</span>, <span class="ruby-value str">""</span>))
|
1293
|
+
709: <span class="ruby-keyword kw">end</span>
|
1276
1294
|
</pre>
|
1277
1295
|
</div>
|
1278
1296
|
</div>
|
@@ -1372,9 +1390,10 @@ An example:
|
|
1372
1390
|
280: <span class="ruby-keyword kw">end</span>
|
1373
1391
|
281: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">mapping</span>
|
1374
1392
|
282: <span class="ruby-keyword kw">else</span>
|
1375
|
-
283: <span class="ruby-
|
1376
|
-
284:
|
1377
|
-
285:
|
1393
|
+
283: <span class="ruby-comment cmt"># Pattern failed to match URI.</span>
|
1394
|
+
284: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
1395
|
+
285: <span class="ruby-keyword kw">end</span>
|
1396
|
+
286: <span class="ruby-keyword kw">end</span>
|
1378
1397
|
</pre>
|
1379
1398
|
</div>
|
1380
1399
|
</div>
|
@@ -1398,10 +1417,10 @@ href="URI.html">URI</a>.
|
|
1398
1417
|
onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
|
1399
1418
|
<div class="method-source-code" id="M000035-source">
|
1400
1419
|
<pre>
|
1401
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1420
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 722</span>
|
1421
|
+
722: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fragment</span>
|
1422
|
+
723: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@fragment</span>
|
1423
|
+
724: <span class="ruby-keyword kw">end</span>
|
1405
1424
|
</pre>
|
1406
1425
|
</div>
|
1407
1426
|
</div>
|
@@ -1425,10 +1444,10 @@ href="URI.html">URI</a>.
|
|
1425
1444
|
onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
|
1426
1445
|
<div class="method-source-code" id="M000036-source">
|
1427
1446
|
<pre>
|
1428
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1429
|
-
|
1430
|
-
|
1431
|
-
|
1447
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 727</span>
|
1448
|
+
727: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fragment=</span>(<span class="ruby-identifier">new_fragment</span>)
|
1449
|
+
728: <span class="ruby-ivar">@fragment</span> = <span class="ruby-identifier">new_fragment</span>
|
1450
|
+
729: <span class="ruby-keyword kw">end</span>
|
1432
1451
|
</pre>
|
1433
1452
|
</div>
|
1434
1453
|
</div>
|
@@ -1452,10 +1471,10 @@ href="URI.html">URI</a>.
|
|
1452
1471
|
onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
|
1453
1472
|
<div class="method-source-code" id="M000020-source">
|
1454
1473
|
<pre>
|
1455
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1474
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 563</span>
|
1475
|
+
563: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">host</span>
|
1476
|
+
564: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@host</span>
|
1477
|
+
565: <span class="ruby-keyword kw">end</span>
|
1459
1478
|
</pre>
|
1460
1479
|
</div>
|
1461
1480
|
</div>
|
@@ -1479,26 +1498,26 @@ href="URI.html">URI</a>.
|
|
1479
1498
|
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
1480
1499
|
<div class="method-source-code" id="M000021-source">
|
1481
1500
|
<pre>
|
1482
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1501
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 568</span>
|
1502
|
+
568: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">host=</span>(<span class="ruby-identifier">new_host</span>)
|
1503
|
+
569: <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">new_host</span>
|
1504
|
+
570:
|
1505
|
+
571: <span class="ruby-comment cmt"># Reset dependant values</span>
|
1506
|
+
572: <span class="ruby-ivar">@authority</span> = <span class="ruby-keyword kw">nil</span>
|
1507
|
+
573:
|
1508
|
+
574: <span class="ruby-comment cmt"># Ensure we haven't created an invalid URI</span>
|
1509
|
+
575: <span class="ruby-identifier">validate</span>()
|
1510
|
+
576: <span class="ruby-keyword kw">end</span>
|
1492
1511
|
</pre>
|
1493
1512
|
</div>
|
1494
1513
|
</div>
|
1495
1514
|
</div>
|
1496
1515
|
|
1497
|
-
<div id="method-
|
1498
|
-
<a name="
|
1516
|
+
<div id="method-M000056" class="method-detail">
|
1517
|
+
<a name="M000056"></a>
|
1499
1518
|
|
1500
1519
|
<div class="method-heading">
|
1501
|
-
<a href="#
|
1520
|
+
<a href="#M000056" class="method-signature">
|
1502
1521
|
<span class="method-name">inspect</span><span class="method-args">()</span>
|
1503
1522
|
</a>
|
1504
1523
|
</div>
|
@@ -1509,13 +1528,13 @@ Returns a string representation of the <a href="URI.html">URI</a>
|
|
1509
1528
|
object‘s state.
|
1510
1529
|
</p>
|
1511
1530
|
<p><a class="source-toggle" href="#"
|
1512
|
-
onclick="toggleCode('
|
1513
|
-
<div class="method-source-code" id="
|
1531
|
+
onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
|
1532
|
+
<div class="method-source-code" id="M000056-source">
|
1514
1533
|
<pre>
|
1515
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1534
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1093</span>
|
1535
|
+
1093: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inspect</span>
|
1536
|
+
1094: <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"#<%s:%#0x URI:%s>"</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">object_id</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>)
|
1537
|
+
1095: <span class="ruby-keyword kw">end</span>
|
1519
1538
|
</pre>
|
1520
1539
|
</div>
|
1521
1540
|
</div>
|
@@ -1538,16 +1557,44 @@ Returns true if the <a href="URI.html">URI</a> uses an IP-based protocol.
|
|
1538
1557
|
onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
|
1539
1558
|
<div class="method-source-code" id="M000037-source">
|
1540
1559
|
<pre>
|
1541
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1542
|
-
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1560
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 732</span>
|
1561
|
+
732: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ip_based?</span>
|
1562
|
+
733: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">nil?</span>
|
1563
|
+
734: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">ip_based_schemes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>)
|
1564
|
+
735: <span class="ruby-keyword kw">end</span>
|
1546
1565
|
</pre>
|
1547
1566
|
</div>
|
1548
1567
|
</div>
|
1549
1568
|
</div>
|
1550
1569
|
|
1570
|
+
<div id="method-M000042" class="method-detail">
|
1571
|
+
<a name="M000042"></a>
|
1572
|
+
|
1573
|
+
<div class="method-heading">
|
1574
|
+
<span class="method-name">join</span><span class="method-args">(uri)</span>
|
1575
|
+
</div>
|
1576
|
+
|
1577
|
+
<div class="method-description">
|
1578
|
+
<p>
|
1579
|
+
Alias for <a href="URI.html#M000041">merge</a>
|
1580
|
+
</p>
|
1581
|
+
</div>
|
1582
|
+
</div>
|
1583
|
+
|
1584
|
+
<div id="method-M000044" class="method-detail">
|
1585
|
+
<a name="M000044"></a>
|
1586
|
+
|
1587
|
+
<div class="method-heading">
|
1588
|
+
<span class="method-name">join!</span><span class="method-args">(uri)</span>
|
1589
|
+
</div>
|
1590
|
+
|
1591
|
+
<div class="method-description">
|
1592
|
+
<p>
|
1593
|
+
Alias for <a href="URI.html#M000041">merge</a>!
|
1594
|
+
</p>
|
1595
|
+
</div>
|
1596
|
+
</div>
|
1597
|
+
|
1551
1598
|
<div id="method-M000041" class="method-detail">
|
1552
1599
|
<a name="M000041"></a>
|
1553
1600
|
|
@@ -1565,20 +1612,20 @@ Merges two URIs together.
|
|
1565
1612
|
onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
|
1566
1613
|
<div class="method-source-code" id="M000041-source">
|
1567
1614
|
<pre>
|
1568
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1569
|
-
|
1570
|
-
|
1571
|
-
|
1615
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 839</span>
|
1616
|
+
839: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">uri</span>)
|
1617
|
+
840: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>
|
1618
|
+
841: <span class="ruby-keyword kw">end</span>
|
1572
1619
|
</pre>
|
1573
1620
|
</div>
|
1574
1621
|
</div>
|
1575
1622
|
</div>
|
1576
1623
|
|
1577
|
-
<div id="method-
|
1578
|
-
<a name="
|
1624
|
+
<div id="method-M000043" class="method-detail">
|
1625
|
+
<a name="M000043"></a>
|
1579
1626
|
|
1580
1627
|
<div class="method-heading">
|
1581
|
-
<a href="#
|
1628
|
+
<a href="#M000043" class="method-signature">
|
1582
1629
|
<span class="method-name">merge!</span><span class="method-args">(uri)</span>
|
1583
1630
|
</a>
|
1584
1631
|
</div>
|
@@ -1588,23 +1635,23 @@ Merges two URIs together.
|
|
1588
1635
|
Destructive form of <a href="URI.html#M000041">merge</a>.
|
1589
1636
|
</p>
|
1590
1637
|
<p><a class="source-toggle" href="#"
|
1591
|
-
onclick="toggleCode('
|
1592
|
-
<div class="method-source-code" id="
|
1638
|
+
onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
|
1639
|
+
<div class="method-source-code" id="M000043-source">
|
1593
1640
|
<pre>
|
1594
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1641
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 845</span>
|
1642
|
+
845: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">uri</span>)
|
1643
|
+
846: <span class="ruby-identifier">replace_self</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">uri</span>))
|
1644
|
+
847: <span class="ruby-keyword kw">end</span>
|
1598
1645
|
</pre>
|
1599
1646
|
</div>
|
1600
1647
|
</div>
|
1601
1648
|
</div>
|
1602
1649
|
|
1603
|
-
<div id="method-
|
1604
|
-
<a name="
|
1650
|
+
<div id="method-M000047" class="method-detail">
|
1651
|
+
<a name="M000047"></a>
|
1605
1652
|
|
1606
1653
|
<div class="method-heading">
|
1607
|
-
<a href="#
|
1654
|
+
<a href="#M000047" class="method-signature">
|
1608
1655
|
<span class="method-name">normalize</span><span class="method-args">()</span>
|
1609
1656
|
</a>
|
1610
1657
|
</div>
|
@@ -1621,81 +1668,91 @@ different URIs may represent the same resource and should not be cached
|
|
1621
1668
|
multiple times.
|
1622
1669
|
</p>
|
1623
1670
|
<p><a class="source-toggle" href="#"
|
1624
|
-
onclick="toggleCode('
|
1625
|
-
<div class="method-source-code" id="
|
1671
|
+
onclick="toggleCode('M000047-source');return false;">[Source]</a></p>
|
1672
|
+
<div class="method-source-code" id="M000047-source">
|
1626
1673
|
<pre>
|
1627
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1628
|
-
|
1629
|
-
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
|
1649
|
-
|
1650
|
-
|
1651
|
-
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
|
1656
|
-
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
|
1662
|
-
|
1663
|
-
|
1664
|
-
|
1665
|
-
|
1666
|
-
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
1671
|
-
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1675
|
-
|
1676
|
-
|
1677
|
-
|
1678
|
-
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
|
1683
|
-
|
1684
|
-
|
1685
|
-
|
1686
|
-
|
1687
|
-
|
1688
|
-
|
1674
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 913</span>
|
1675
|
+
913: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize</span>
|
1676
|
+
914: <span class="ruby-identifier">normalized_scheme</span> = <span class="ruby-keyword kw">nil</span>
|
1677
|
+
915: <span class="ruby-identifier">normalized_scheme</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1678
|
+
916: <span class="ruby-identifier">normalized_scheme</span> = <span class="ruby-value str">"svn+ssh"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"ssh+svn"</span>
|
1679
|
+
917: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_scheme</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"feed"</span>
|
1680
|
+
918: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^feed:\/*http:\/*/</span>
|
1681
|
+
919: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">parse</span>(
|
1682
|
+
920: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^feed:\/*(http:\/*.*)/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]).<span class="ruby-identifier">normalize</span>
|
1683
|
+
921: <span class="ruby-keyword kw">end</span>
|
1684
|
+
922: <span class="ruby-keyword kw">end</span>
|
1685
|
+
923: <span class="ruby-identifier">normalized_user</span> = <span class="ruby-keyword kw">nil</span>
|
1686
|
+
924: <span class="ruby-identifier">normalized_user</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1687
|
+
925: <span class="ruby-identifier">normalized_password</span> = <span class="ruby-keyword kw">nil</span>
|
1688
|
+
926: <span class="ruby-identifier">normalized_password</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1689
|
+
927:
|
1690
|
+
928: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_scheme</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/https?/</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">normalized_user</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span> <span class="ruby-operator">&&</span>
|
1691
|
+
929: (<span class="ruby-identifier">normalized_password</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">normalized_password</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>)
|
1692
|
+
930: <span class="ruby-identifier">normalized_user</span> = <span class="ruby-keyword kw">nil</span>
|
1693
|
+
931: <span class="ruby-identifier">normalized_password</span> = <span class="ruby-keyword kw">nil</span>
|
1694
|
+
932: <span class="ruby-keyword kw">end</span>
|
1695
|
+
933:
|
1696
|
+
934: <span class="ruby-identifier">normalized_host</span> = <span class="ruby-keyword kw">nil</span>
|
1697
|
+
935: <span class="ruby-identifier">normalized_host</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1698
|
+
936: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_host</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1699
|
+
937: <span class="ruby-keyword kw">begin</span>
|
1700
|
+
938: <span class="ruby-identifier">normalized_host</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">IDNA</span>.<span class="ruby-identifier">to_ascii</span>(<span class="ruby-identifier">normalized_host</span>)
|
1701
|
+
939: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
|
1702
|
+
940: <span class="ruby-keyword kw">nil</span>
|
1703
|
+
941: <span class="ruby-keyword kw">end</span>
|
1704
|
+
942: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_host</span>[<span class="ruby-value">-1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">"."</span>
|
1705
|
+
943: <span class="ruby-identifier">normalized_host</span> = <span class="ruby-identifier">normalized_host</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-value">-1</span>]
|
1706
|
+
944: <span class="ruby-keyword kw">end</span>
|
1707
|
+
945: <span class="ruby-keyword kw">end</span>
|
1708
|
+
946:
|
1709
|
+
947: <span class="ruby-identifier">normalized_port</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">port</span>
|
1710
|
+
948: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">scheme_mapping</span>[<span class="ruby-identifier">normalized_scheme</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">normalized_port</span>
|
1711
|
+
949: <span class="ruby-identifier">normalized_port</span> = <span class="ruby-keyword kw">nil</span>
|
1712
|
+
950: <span class="ruby-keyword kw">end</span>
|
1713
|
+
951: <span class="ruby-identifier">normalized_path</span> = <span class="ruby-keyword kw">nil</span>
|
1714
|
+
952: <span class="ruby-identifier">normalized_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1715
|
+
953: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span>
|
1716
|
+
954: <span class="ruby-identifier">normalized_scheme</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span>
|
1717
|
+
955: <span class="ruby-identifier">normalized_host</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1718
|
+
956: <span class="ruby-identifier">normalized_path</span> = <span class="ruby-value str">"/"</span>
|
1719
|
+
957: <span class="ruby-keyword kw">end</span>
|
1720
|
+
958: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_path</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1721
|
+
959: <span class="ruby-identifier">normalized_path</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">normalize_path</span>(<span class="ruby-identifier">normalized_path</span>)
|
1722
|
+
960: <span class="ruby-keyword kw">end</span>
|
1723
|
+
961: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_path</span> <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
1724
|
+
962: <span class="ruby-keyword kw">if</span> [<span class="ruby-value str">"http"</span>, <span class="ruby-value str">"https"</span>, <span class="ruby-value str">"ftp"</span>, <span class="ruby-value str">"tftp"</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">normalized_scheme</span>)
|
1725
|
+
963: <span class="ruby-identifier">normalized_path</span> = <span class="ruby-value str">"/"</span>
|
1726
|
+
964: <span class="ruby-keyword kw">end</span>
|
1727
|
+
965: <span class="ruby-keyword kw">end</span>
|
1728
|
+
966:
|
1729
|
+
967: <span class="ruby-identifier">normalized_query</span> = <span class="ruby-keyword kw">nil</span>
|
1730
|
+
968: <span class="ruby-identifier">normalized_query</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1731
|
+
969:
|
1732
|
+
970: <span class="ruby-identifier">normalized_fragment</span> = <span class="ruby-keyword kw">nil</span>
|
1733
|
+
971: <span class="ruby-identifier">normalized_fragment</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1734
|
+
972: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(
|
1735
|
+
973: <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">normalized_encode</span>(<span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
1736
|
+
974: <span class="ruby-identifier">normalized_scheme</span>,
|
1737
|
+
975: <span class="ruby-identifier">normalized_user</span>,
|
1738
|
+
976: <span class="ruby-identifier">normalized_password</span>,
|
1739
|
+
977: <span class="ruby-identifier">normalized_host</span>,
|
1740
|
+
978: <span class="ruby-identifier">normalized_port</span>,
|
1741
|
+
979: <span class="ruby-identifier">normalized_path</span>,
|
1742
|
+
980: <span class="ruby-identifier">normalized_query</span>,
|
1743
|
+
981: <span class="ruby-identifier">normalized_fragment</span>
|
1744
|
+
982: )))
|
1745
|
+
983: <span class="ruby-keyword kw">end</span>
|
1689
1746
|
</pre>
|
1690
1747
|
</div>
|
1691
1748
|
</div>
|
1692
1749
|
</div>
|
1693
1750
|
|
1694
|
-
<div id="method-
|
1695
|
-
<a name="
|
1751
|
+
<div id="method-M000048" class="method-detail">
|
1752
|
+
<a name="M000048"></a>
|
1696
1753
|
|
1697
1754
|
<div class="method-heading">
|
1698
|
-
<a href="#
|
1755
|
+
<a href="#M000048" class="method-signature">
|
1699
1756
|
<span class="method-name">normalize!</span><span class="method-args">()</span>
|
1700
1757
|
</a>
|
1701
1758
|
</div>
|
@@ -1705,13 +1762,13 @@ multiple times.
|
|
1705
1762
|
Destructively normalizes this <a href="URI.html">URI</a> object.
|
1706
1763
|
</p>
|
1707
1764
|
<p><a class="source-toggle" href="#"
|
1708
|
-
onclick="toggleCode('
|
1709
|
-
<div class="method-source-code" id="
|
1765
|
+
onclick="toggleCode('M000048-source');return false;">[Source]</a></p>
|
1766
|
+
<div class="method-source-code" id="M000048-source">
|
1710
1767
|
<pre>
|
1711
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1712
|
-
|
1713
|
-
|
1714
|
-
|
1768
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 986</span>
|
1769
|
+
986: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize!</span>
|
1770
|
+
987: <span class="ruby-identifier">replace_self</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalize</span>)
|
1771
|
+
988: <span class="ruby-keyword kw">end</span>
|
1715
1772
|
</pre>
|
1716
1773
|
</div>
|
1717
1774
|
</div>
|
@@ -1735,10 +1792,10 @@ href="URI.html">URI</a>.
|
|
1735
1792
|
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
1736
1793
|
<div class="method-source-code" id="M000016-source">
|
1737
1794
|
<pre>
|
1738
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1795
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 509</span>
|
1796
|
+
509: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">password</span>
|
1797
|
+
510: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@password</span>
|
1798
|
+
511: <span class="ruby-keyword kw">end</span>
|
1742
1799
|
</pre>
|
1743
1800
|
</div>
|
1744
1801
|
</div>
|
@@ -1762,22 +1819,22 @@ href="URI.html">URI</a>.
|
|
1762
1819
|
onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
|
1763
1820
|
<div class="method-source-code" id="M000017-source">
|
1764
1821
|
<pre>
|
1765
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1822
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 514</span>
|
1823
|
+
514: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">password=</span>(<span class="ruby-identifier">new_password</span>)
|
1824
|
+
515: <span class="ruby-ivar">@password</span> = <span class="ruby-identifier">new_password</span>
|
1825
|
+
516:
|
1826
|
+
517: <span class="ruby-comment cmt"># You can't have a nil user with a non-nil password</span>
|
1827
|
+
518: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
1828
|
+
519: <span class="ruby-ivar">@user</span> = <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@user</span>.<span class="ruby-identifier">nil?</span>
|
1829
|
+
520: <span class="ruby-keyword kw">end</span>
|
1830
|
+
521:
|
1831
|
+
522: <span class="ruby-comment cmt"># Reset dependant values</span>
|
1832
|
+
523: <span class="ruby-ivar">@userinfo</span> = <span class="ruby-keyword kw">nil</span>
|
1833
|
+
524: <span class="ruby-ivar">@authority</span> = <span class="ruby-keyword kw">nil</span>
|
1834
|
+
525:
|
1835
|
+
526: <span class="ruby-comment cmt"># Ensure we haven't created an invalid URI</span>
|
1836
|
+
527: <span class="ruby-identifier">validate</span>()
|
1837
|
+
528: <span class="ruby-keyword kw">end</span>
|
1781
1838
|
</pre>
|
1782
1839
|
</div>
|
1783
1840
|
</div>
|
@@ -1801,10 +1858,10 @@ href="URI.html">URI</a>.
|
|
1801
1858
|
onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
|
1802
1859
|
<div class="method-source-code" id="M000029-source">
|
1803
1860
|
<pre>
|
1804
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1805
|
-
|
1806
|
-
|
1807
|
-
|
1861
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 687</span>
|
1862
|
+
687: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path</span>
|
1863
|
+
688: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@path</span>
|
1864
|
+
689: <span class="ruby-keyword kw">end</span>
|
1808
1865
|
</pre>
|
1809
1866
|
</div>
|
1810
1867
|
</div>
|
@@ -1828,10 +1885,10 @@ href="URI.html">URI</a>.
|
|
1828
1885
|
onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
|
1829
1886
|
<div class="method-source-code" id="M000030-source">
|
1830
1887
|
<pre>
|
1831
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1832
|
-
|
1833
|
-
|
1834
|
-
|
1888
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 692</span>
|
1889
|
+
692: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path=</span>(<span class="ruby-identifier">new_path</span>)
|
1890
|
+
693: <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">new_path</span>
|
1891
|
+
694: <span class="ruby-keyword kw">end</span>
|
1835
1892
|
</pre>
|
1836
1893
|
</div>
|
1837
1894
|
</div>
|
@@ -1850,7 +1907,7 @@ href="URI.html">URI</a>.
|
|
1850
1907
|
<p>
|
1851
1908
|
Returns the <a href="URI.html#M000026">port</a> number for this <a
|
1852
1909
|
href="URI.html">URI</a>. This method will <a
|
1853
|
-
href="URI.html#
|
1910
|
+
href="URI.html#M000047">normalize</a> to the default <a
|
1854
1911
|
href="URI.html#M000026">port</a> for the <a href="URI.html">URI</a>‘s
|
1855
1912
|
<a href="URI.html#M000012">scheme</a> if the <a
|
1856
1913
|
href="URI.html#M000026">port</a> isn‘t explicitly specified in the <a
|
@@ -1860,20 +1917,20 @@ href="URI.html">URI</a>.
|
|
1860
1917
|
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
1861
1918
|
<div class="method-source-code" id="M000026-source">
|
1862
1919
|
<pre>
|
1863
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1864
|
-
|
1865
|
-
|
1866
|
-
|
1867
|
-
|
1868
|
-
|
1869
|
-
|
1870
|
-
|
1871
|
-
|
1872
|
-
|
1873
|
-
|
1874
|
-
|
1875
|
-
|
1876
|
-
|
1920
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 655</span>
|
1921
|
+
655: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">port</span>
|
1922
|
+
656: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
1923
|
+
657: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">nil?</span>
|
1924
|
+
658: <span class="ruby-ivar">@port</span> = <span class="ruby-keyword kw">nil</span>
|
1925
|
+
659: <span class="ruby-keyword kw">else</span>
|
1926
|
+
660: <span class="ruby-ivar">@port</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">scheme_mapping</span>[<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>]
|
1927
|
+
661: <span class="ruby-keyword kw">end</span>
|
1928
|
+
662: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@port</span>
|
1929
|
+
663: <span class="ruby-keyword kw">else</span>
|
1930
|
+
664: <span class="ruby-ivar">@port</span> = <span class="ruby-ivar">@port</span>.<span class="ruby-identifier">to_i</span>
|
1931
|
+
665: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@port</span>
|
1932
|
+
666: <span class="ruby-keyword kw">end</span>
|
1933
|
+
667: <span class="ruby-keyword kw">end</span>
|
1877
1934
|
</pre>
|
1878
1935
|
</div>
|
1879
1936
|
</div>
|
@@ -1897,12 +1954,12 @@ href="URI.html">URI</a>.
|
|
1897
1954
|
onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
|
1898
1955
|
<div class="method-source-code" id="M000027-source">
|
1899
1956
|
<pre>
|
1900
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1901
|
-
|
1902
|
-
|
1903
|
-
|
1904
|
-
|
1905
|
-
|
1957
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 670</span>
|
1958
|
+
670: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">port=</span>(<span class="ruby-identifier">new_port</span>)
|
1959
|
+
671: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">new_port</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_i</span>
|
1960
|
+
672: <span class="ruby-ivar">@specified_port</span> = <span class="ruby-ivar">@port</span>
|
1961
|
+
673: <span class="ruby-ivar">@authority</span> = <span class="ruby-keyword kw">nil</span>
|
1962
|
+
674: <span class="ruby-keyword kw">end</span>
|
1906
1963
|
</pre>
|
1907
1964
|
</div>
|
1908
1965
|
</div>
|
@@ -1926,10 +1983,10 @@ href="URI.html">URI</a>.
|
|
1926
1983
|
onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
|
1927
1984
|
<div class="method-source-code" id="M000033-source">
|
1928
1985
|
<pre>
|
1929
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1930
|
-
|
1931
|
-
|
1932
|
-
|
1986
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 712</span>
|
1987
|
+
712: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query</span>
|
1988
|
+
713: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@query</span>
|
1989
|
+
714: <span class="ruby-keyword kw">end</span>
|
1933
1990
|
</pre>
|
1934
1991
|
</div>
|
1935
1992
|
</div>
|
@@ -1953,10 +2010,10 @@ href="URI.html">URI</a>.
|
|
1953
2010
|
onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
|
1954
2011
|
<div class="method-source-code" id="M000034-source">
|
1955
2012
|
<pre>
|
1956
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1957
|
-
|
1958
|
-
|
1959
|
-
|
2013
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 717</span>
|
2014
|
+
717: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query=</span>(<span class="ruby-identifier">new_query</span>)
|
2015
|
+
718: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">new_query</span>
|
2016
|
+
719: <span class="ruby-keyword kw">end</span>
|
1960
2017
|
</pre>
|
1961
2018
|
</div>
|
1962
2019
|
</div>
|
@@ -1979,20 +2036,20 @@ Returns true if this <a href="URI.html">URI</a> is known to be relative.
|
|
1979
2036
|
onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
|
1980
2037
|
<div class="method-source-code" id="M000038-source">
|
1981
2038
|
<pre>
|
1982
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
1983
|
-
|
1984
|
-
|
1985
|
-
|
2039
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 738</span>
|
2040
|
+
738: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relative?</span>
|
2041
|
+
739: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>.<span class="ruby-identifier">nil?</span>
|
2042
|
+
740: <span class="ruby-keyword kw">end</span>
|
1986
2043
|
</pre>
|
1987
2044
|
</div>
|
1988
2045
|
</div>
|
1989
2046
|
</div>
|
1990
2047
|
|
1991
|
-
<div id="method-
|
1992
|
-
<a name="
|
2048
|
+
<div id="method-M000045" class="method-detail">
|
2049
|
+
<a name="M000045"></a>
|
1993
2050
|
|
1994
2051
|
<div class="method-heading">
|
1995
|
-
<a href="#
|
2052
|
+
<a href="#M000045" class="method-signature">
|
1996
2053
|
<span class="method-name">route_from</span><span class="method-args">(uri)</span>
|
1997
2054
|
</a>
|
1998
2055
|
</div>
|
@@ -2005,64 +2062,64 @@ as a base for resolution. Returns an absolute <a href="URI.html">URI</a> if
|
|
2005
2062
|
necessary.
|
2006
2063
|
</p>
|
2007
2064
|
<p><a class="source-toggle" href="#"
|
2008
|
-
onclick="toggleCode('
|
2009
|
-
<div class="method-source-code" id="
|
2065
|
+
onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
|
2066
|
+
<div class="method-source-code" id="M000045-source">
|
2010
2067
|
<pre>
|
2011
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2012
|
-
|
2013
|
-
|
2014
|
-
|
2015
|
-
|
2016
|
-
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
843: <span class="ruby-keyword kw">end</span>
|
2022
|
-
844: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>
|
2023
|
-
845: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"##{normalized_self.fragment}"</span>)
|
2024
|
-
846: <span class="ruby-keyword kw">end</span>
|
2025
|
-
847: <span class="ruby-identifier">segments</span> = <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">to_h</span>
|
2026
|
-
848: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span>
|
2027
|
-
849: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>] = <span class="ruby-keyword kw">nil</span>
|
2028
|
-
850: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">authority</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">authority</span>
|
2029
|
-
851: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:user</span>] = <span class="ruby-keyword kw">nil</span>
|
2030
|
-
852: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:password</span>] = <span class="ruby-keyword kw">nil</span>
|
2031
|
-
853: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:host</span>] = <span class="ruby-keyword kw">nil</span>
|
2032
|
-
854: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:port</span>] = <span class="ruby-keyword kw">nil</span>
|
2033
|
-
855: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>
|
2034
|
-
856: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:path</span>] = <span class="ruby-keyword kw">nil</span>
|
2035
|
-
857: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
2036
|
-
858: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:query</span>] = <span class="ruby-keyword kw">nil</span>
|
2037
|
-
859: <span class="ruby-keyword kw">end</span>
|
2038
|
-
860: <span class="ruby-keyword kw">end</span>
|
2039
|
-
861: <span class="ruby-keyword kw">end</span>
|
2068
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 853</span>
|
2069
|
+
853: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">route_from</span>(<span class="ruby-identifier">uri</span>)
|
2070
|
+
854: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
2071
|
+
855: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">normalize</span>
|
2072
|
+
856: <span class="ruby-identifier">normalized_self</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">normalize</span>
|
2073
|
+
857: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">relative?</span>
|
2074
|
+
858: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Expected absolute URI, got: #{self.to_s}"</span>
|
2075
|
+
859: <span class="ruby-keyword kw">end</span>
|
2076
|
+
860: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">relative?</span>
|
2077
|
+
861: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Expected absolute URI, got: #{self.to_s}"</span>
|
2040
2078
|
862: <span class="ruby-keyword kw">end</span>
|
2041
|
-
863: <span class="ruby-
|
2042
|
-
864:
|
2043
|
-
865:
|
2044
|
-
866: <span class="ruby-
|
2045
|
-
867: <span class="ruby-keyword kw">
|
2046
|
-
868: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>]
|
2047
|
-
869: <span class="ruby-identifier">
|
2048
|
-
870:
|
2049
|
-
871:
|
2050
|
-
872:
|
2051
|
-
873:
|
2052
|
-
874:
|
2053
|
-
875:
|
2054
|
-
876:
|
2055
|
-
877:
|
2079
|
+
863: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>
|
2080
|
+
864: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"##{normalized_self.fragment}"</span>)
|
2081
|
+
865: <span class="ruby-keyword kw">end</span>
|
2082
|
+
866: <span class="ruby-identifier">segments</span> = <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">to_h</span>
|
2083
|
+
867: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">scheme</span>
|
2084
|
+
868: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>] = <span class="ruby-keyword kw">nil</span>
|
2085
|
+
869: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">authority</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">authority</span>
|
2086
|
+
870: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:user</span>] = <span class="ruby-keyword kw">nil</span>
|
2087
|
+
871: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:password</span>] = <span class="ruby-keyword kw">nil</span>
|
2088
|
+
872: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:host</span>] = <span class="ruby-keyword kw">nil</span>
|
2089
|
+
873: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:port</span>] = <span class="ruby-keyword kw">nil</span>
|
2090
|
+
874: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>
|
2091
|
+
875: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:path</span>] = <span class="ruby-keyword kw">nil</span>
|
2092
|
+
876: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span>
|
2093
|
+
877: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:query</span>] = <span class="ruby-keyword kw">nil</span>
|
2094
|
+
878: <span class="ruby-keyword kw">end</span>
|
2095
|
+
879: <span class="ruby-keyword kw">end</span>
|
2096
|
+
880: <span class="ruby-keyword kw">end</span>
|
2097
|
+
881: <span class="ruby-keyword kw">end</span>
|
2098
|
+
882: <span class="ruby-comment cmt"># Avoid network-path references.</span>
|
2099
|
+
883: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:host</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2100
|
+
884: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>] = <span class="ruby-identifier">normalized_self</span>.<span class="ruby-identifier">scheme</span>
|
2101
|
+
885: <span class="ruby-keyword kw">end</span>
|
2102
|
+
886: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Addressable</span><span class="ruby-operator">::</span><span class="ruby-constant">URI</span>.<span class="ruby-identifier">new</span>(
|
2103
|
+
887: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:scheme</span>],
|
2104
|
+
888: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:user</span>],
|
2105
|
+
889: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:password</span>],
|
2106
|
+
890: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:host</span>],
|
2107
|
+
891: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:port</span>],
|
2108
|
+
892: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:path</span>],
|
2109
|
+
893: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:query</span>],
|
2110
|
+
894: <span class="ruby-identifier">segments</span>[<span class="ruby-identifier">:fragment</span>]
|
2111
|
+
895: )
|
2112
|
+
896: <span class="ruby-keyword kw">end</span>
|
2056
2113
|
</pre>
|
2057
2114
|
</div>
|
2058
2115
|
</div>
|
2059
2116
|
</div>
|
2060
2117
|
|
2061
|
-
<div id="method-
|
2062
|
-
<a name="
|
2118
|
+
<div id="method-M000046" class="method-detail">
|
2119
|
+
<a name="M000046"></a>
|
2063
2120
|
|
2064
2121
|
<div class="method-heading">
|
2065
|
-
<a href="#
|
2122
|
+
<a href="#M000046" class="method-signature">
|
2066
2123
|
<span class="method-name">route_to</span><span class="method-args">(uri)</span>
|
2067
2124
|
</a>
|
2068
2125
|
</div>
|
@@ -2075,14 +2132,14 @@ for resolution. Returns an absolute <a href="URI.html">URI</a> if
|
|
2075
2132
|
necessary.
|
2076
2133
|
</p>
|
2077
2134
|
<p><a class="source-toggle" href="#"
|
2078
|
-
onclick="toggleCode('
|
2079
|
-
<div class="method-source-code" id="
|
2135
|
+
onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
|
2136
|
+
<div class="method-source-code" id="M000046-source">
|
2080
2137
|
<pre>
|
2081
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
2085
|
-
|
2138
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 901</span>
|
2139
|
+
901: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">route_to</span>(<span class="ruby-identifier">uri</span>)
|
2140
|
+
902: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>)
|
2141
|
+
903: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">route_from</span>(<span class="ruby-keyword kw">self</span>)
|
2142
|
+
904: <span class="ruby-keyword kw">end</span>
|
2086
2143
|
</pre>
|
2087
2144
|
</div>
|
2088
2145
|
</div>
|
@@ -2106,10 +2163,10 @@ href="URI.html">URI</a>.
|
|
2106
2163
|
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
2107
2164
|
<div class="method-source-code" id="M000012-source">
|
2108
2165
|
<pre>
|
2109
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2110
|
-
|
2111
|
-
|
2112
|
-
|
2166
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 477</span>
|
2167
|
+
477: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scheme</span>
|
2168
|
+
478: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scheme</span>
|
2169
|
+
479: <span class="ruby-keyword kw">end</span>
|
2113
2170
|
</pre>
|
2114
2171
|
</div>
|
2115
2172
|
</div>
|
@@ -2133,10 +2190,10 @@ href="URI.html">URI</a>.)
|
|
2133
2190
|
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
2134
2191
|
<div class="method-source-code" id="M000013-source">
|
2135
2192
|
<pre>
|
2136
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2137
|
-
|
2138
|
-
|
2139
|
-
|
2193
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 482</span>
|
2194
|
+
482: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scheme=</span>(<span class="ruby-identifier">new_scheme</span>)
|
2195
|
+
483: <span class="ruby-ivar">@scheme</span> = <span class="ruby-identifier">new_scheme</span>
|
2196
|
+
484: <span class="ruby-keyword kw">end</span>
|
2140
2197
|
</pre>
|
2141
2198
|
</div>
|
2142
2199
|
</div>
|
@@ -2160,25 +2217,25 @@ specified in the <a href="URI.html">URI</a> string.
|
|
2160
2217
|
onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
|
2161
2218
|
<div class="method-source-code" id="M000028-source">
|
2162
2219
|
<pre>
|
2163
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2164
|
-
|
2165
|
-
|
2166
|
-
|
2167
|
-
|
2168
|
-
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2220
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 677</span>
|
2221
|
+
677: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specified_port</span>
|
2222
|
+
678: <span class="ruby-identifier">port</span> = <span class="ruby-ivar">@specified_port</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_i</span>
|
2223
|
+
679: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
2224
|
+
680: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
2225
|
+
681: <span class="ruby-keyword kw">else</span>
|
2226
|
+
682: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">port</span>
|
2227
|
+
683: <span class="ruby-keyword kw">end</span>
|
2228
|
+
684: <span class="ruby-keyword kw">end</span>
|
2172
2229
|
</pre>
|
2173
2230
|
</div>
|
2174
2231
|
</div>
|
2175
2232
|
</div>
|
2176
2233
|
|
2177
|
-
<div id="method-
|
2178
|
-
<a name="
|
2234
|
+
<div id="method-M000055" class="method-detail">
|
2235
|
+
<a name="M000055"></a>
|
2179
2236
|
|
2180
2237
|
<div class="method-heading">
|
2181
|
-
<a href="#
|
2238
|
+
<a href="#M000055" class="method-signature">
|
2182
2239
|
<span class="method-name">to_h</span><span class="method-args">()</span>
|
2183
2240
|
</a>
|
2184
2241
|
</div>
|
@@ -2188,32 +2245,32 @@ specified in the <a href="URI.html">URI</a> string.
|
|
2188
2245
|
Returns a Hash of the <a href="URI.html">URI</a> segments.
|
2189
2246
|
</p>
|
2190
2247
|
<p><a class="source-toggle" href="#"
|
2191
|
-
onclick="toggleCode('
|
2192
|
-
<div class="method-source-code" id="
|
2248
|
+
onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
|
2249
|
+
<div class="method-source-code" id="M000055-source">
|
2193
2250
|
<pre>
|
2194
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2195
|
-
|
2196
|
-
|
2197
|
-
|
2198
|
-
|
2199
|
-
|
2200
|
-
|
2201
|
-
|
2202
|
-
|
2203
|
-
|
2204
|
-
|
2205
|
-
|
2206
|
-
|
2251
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1079</span>
|
2252
|
+
1079: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_h</span>
|
2253
|
+
1080: <span class="ruby-keyword kw">return</span> {
|
2254
|
+
1081: <span class="ruby-identifier">:scheme</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span>,
|
2255
|
+
1082: <span class="ruby-identifier">:user</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span>,
|
2256
|
+
1083: <span class="ruby-identifier">:password</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span>,
|
2257
|
+
1084: <span class="ruby-identifier">:host</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">host</span>,
|
2258
|
+
1085: <span class="ruby-identifier">:port</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">specified_port</span>,
|
2259
|
+
1086: <span class="ruby-identifier">:path</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>,
|
2260
|
+
1087: <span class="ruby-identifier">:query</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span>,
|
2261
|
+
1088: <span class="ruby-identifier">:fragment</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span>
|
2262
|
+
1089: }
|
2263
|
+
1090: <span class="ruby-keyword kw">end</span>
|
2207
2264
|
</pre>
|
2208
2265
|
</div>
|
2209
2266
|
</div>
|
2210
2267
|
</div>
|
2211
2268
|
|
2212
|
-
<div id="method-
|
2213
|
-
<a name="
|
2269
|
+
<div id="method-M000054" class="method-detail">
|
2270
|
+
<a name="M000054"></a>
|
2214
2271
|
|
2215
2272
|
<div class="method-heading">
|
2216
|
-
<a href="#
|
2273
|
+
<a href="#M000054" class="method-signature">
|
2217
2274
|
<span class="method-name">to_s</span><span class="method-args">()</span>
|
2218
2275
|
</a>
|
2219
2276
|
</div>
|
@@ -2223,19 +2280,19 @@ Returns a Hash of the <a href="URI.html">URI</a> segments.
|
|
2223
2280
|
Returns the assembled <a href="URI.html">URI</a> as a string.
|
2224
2281
|
</p>
|
2225
2282
|
<p><a class="source-toggle" href="#"
|
2226
|
-
onclick="toggleCode('
|
2227
|
-
<div class="method-source-code" id="
|
2283
|
+
onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
|
2284
|
+
<div class="method-source-code" id="M000054-source">
|
2228
2285
|
<pre>
|
2229
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2230
|
-
|
2231
|
-
|
2232
|
-
|
2233
|
-
|
2234
|
-
|
2235
|
-
|
2236
|
-
|
2237
|
-
|
2238
|
-
|
2286
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 1068</span>
|
2287
|
+
1068: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
2288
|
+
1069: <span class="ruby-identifier">uri_string</span> = <span class="ruby-value str">""</span>
|
2289
|
+
1070: <span class="ruby-identifier">uri_string</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{self.scheme}:"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scheme</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2290
|
+
1071: <span class="ruby-identifier">uri_string</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"//#{self.authority}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">authority</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2291
|
+
1072: <span class="ruby-identifier">uri_string</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>
|
2292
|
+
1073: <span class="ruby-identifier">uri_string</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"?#{self.query}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2293
|
+
1074: <span class="ruby-identifier">uri_string</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"##{self.fragment}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fragment</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2294
|
+
1075: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">uri_string</span>
|
2295
|
+
1076: <span class="ruby-keyword kw">end</span>
|
2239
2296
|
</pre>
|
2240
2297
|
</div>
|
2241
2298
|
</div>
|
@@ -2259,10 +2316,10 @@ href="URI.html">URI</a>.
|
|
2259
2316
|
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
2260
2317
|
<div class="method-source-code" id="M000014-source">
|
2261
2318
|
<pre>
|
2262
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2263
|
-
|
2264
|
-
|
2265
|
-
|
2319
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 487</span>
|
2320
|
+
487: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">user</span>
|
2321
|
+
488: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@user</span>
|
2322
|
+
489: <span class="ruby-keyword kw">end</span>
|
2266
2323
|
</pre>
|
2267
2324
|
</div>
|
2268
2325
|
</div>
|
@@ -2286,22 +2343,22 @@ href="URI.html">URI</a>.
|
|
2286
2343
|
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
2287
2344
|
<div class="method-source-code" id="M000015-source">
|
2288
2345
|
<pre>
|
2289
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2290
|
-
|
2291
|
-
|
2292
|
-
|
2293
|
-
|
2294
|
-
|
2295
|
-
|
2296
|
-
|
2297
|
-
|
2298
|
-
|
2299
|
-
|
2300
|
-
|
2301
|
-
|
2302
|
-
|
2303
|
-
|
2304
|
-
|
2346
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 492</span>
|
2347
|
+
492: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">user=</span>(<span class="ruby-identifier">new_user</span>)
|
2348
|
+
493: <span class="ruby-ivar">@user</span> = <span class="ruby-identifier">new_user</span>
|
2349
|
+
494:
|
2350
|
+
495: <span class="ruby-comment cmt"># You can't have a nil user with a non-nil password</span>
|
2351
|
+
496: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2352
|
+
497: <span class="ruby-ivar">@user</span> = <span class="ruby-value str">""</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@user</span>.<span class="ruby-identifier">nil?</span>
|
2353
|
+
498: <span class="ruby-keyword kw">end</span>
|
2354
|
+
499:
|
2355
|
+
500: <span class="ruby-comment cmt"># Reset dependant values</span>
|
2356
|
+
501: <span class="ruby-ivar">@userinfo</span> = <span class="ruby-keyword kw">nil</span>
|
2357
|
+
502: <span class="ruby-ivar">@authority</span> = <span class="ruby-keyword kw">nil</span>
|
2358
|
+
503:
|
2359
|
+
504: <span class="ruby-comment cmt"># Ensure we haven't created an invalid URI</span>
|
2360
|
+
505: <span class="ruby-identifier">validate</span>()
|
2361
|
+
506: <span class="ruby-keyword kw">end</span>
|
2305
2362
|
</pre>
|
2306
2363
|
</div>
|
2307
2364
|
</div>
|
@@ -2325,21 +2382,21 @@ this <a href="URI.html">URI</a>.
|
|
2325
2382
|
onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
|
2326
2383
|
<div class="method-source-code" id="M000018-source">
|
2327
2384
|
<pre>
|
2328
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2329
|
-
|
2330
|
-
|
2331
|
-
|
2332
|
-
|
2333
|
-
|
2334
|
-
|
2335
|
-
|
2336
|
-
|
2337
|
-
|
2338
|
-
|
2339
|
-
|
2340
|
-
|
2341
|
-
|
2342
|
-
|
2385
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 531</span>
|
2386
|
+
531: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">userinfo</span>
|
2387
|
+
532: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-ivar">@userinfo</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@userinfo</span>.<span class="ruby-identifier">nil?</span>
|
2388
|
+
533: <span class="ruby-identifier">current_user</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span>
|
2389
|
+
534: <span class="ruby-identifier">current_password</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span>
|
2390
|
+
535: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current_user</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">current_password</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
2391
|
+
536: <span class="ruby-ivar">@userinfo</span> = <span class="ruby-keyword kw">nil</span>
|
2392
|
+
537: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">current_user</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">current_password</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
2393
|
+
538: <span class="ruby-ivar">@userinfo</span> = <span class="ruby-node">"#{current_user}"</span>
|
2394
|
+
539: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">current_user</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">current_password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
2395
|
+
540: <span class="ruby-ivar">@userinfo</span> = <span class="ruby-node">"#{current_user}:#{current_password}"</span>
|
2396
|
+
541: <span class="ruby-keyword kw">end</span>
|
2397
|
+
542: <span class="ruby-keyword kw">end</span>
|
2398
|
+
543: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@userinfo</span>
|
2399
|
+
544: <span class="ruby-keyword kw">end</span>
|
2343
2400
|
</pre>
|
2344
2401
|
</div>
|
2345
2402
|
</div>
|
@@ -2363,21 +2420,21 @@ this <a href="URI.html">URI</a>.
|
|
2363
2420
|
onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
|
2364
2421
|
<div class="method-source-code" id="M000019-source">
|
2365
2422
|
<pre>
|
2366
|
-
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
|
2372
|
-
|
2373
|
-
|
2374
|
-
|
2375
|
-
|
2376
|
-
|
2377
|
-
|
2378
|
-
|
2379
|
-
|
2380
|
-
|
2423
|
+
<span class="ruby-comment cmt"># File lib/addressable/uri.rb, line 547</span>
|
2424
|
+
547: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">userinfo=</span>(<span class="ruby-identifier">new_userinfo</span>)
|
2425
|
+
548: <span class="ruby-identifier">new_user</span> = <span class="ruby-identifier">new_userinfo</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/^(.*):/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
2426
|
+
549: <span class="ruby-identifier">new_password</span> = <span class="ruby-identifier">new_userinfo</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/:(.*)$/</span>).<span class="ruby-identifier">flatten</span>[<span class="ruby-value">0</span>]
|
2427
|
+
550:
|
2428
|
+
551: <span class="ruby-comment cmt"># Password assigned first to ensure validity in case of nil</span>
|
2429
|
+
552: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span> = <span class="ruby-identifier">new_password</span>
|
2430
|
+
553: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">user</span> = <span class="ruby-identifier">new_user</span>
|
2431
|
+
554:
|
2432
|
+
555: <span class="ruby-comment cmt"># Reset dependant values</span>
|
2433
|
+
556: <span class="ruby-ivar">@authority</span> = <span class="ruby-keyword kw">nil</span>
|
2434
|
+
557:
|
2435
|
+
558: <span class="ruby-comment cmt"># Ensure we haven't created an invalid URI</span>
|
2436
|
+
559: <span class="ruby-identifier">validate</span>()
|
2437
|
+
560: <span class="ruby-keyword kw">end</span>
|
2381
2438
|
</pre>
|
2382
2439
|
</div>
|
2383
2440
|
</div>
|