facets 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY.rdoc +331 -35
- data/MANIFEST +685 -826
- data/{doc/guide/notes.rd → NOTES} +0 -0
- data/README.rdoc +73 -25
- data/Rakefile +245 -2
- data/TODO +5 -0
- data/demo/hook.rd +47 -0
- data/demo/scenario_require.rd +9 -0
- data/doc/README.more +24 -6
- data/doc/manual/about.rb +47 -0
- data/doc/manual/annotations.rdoc +60 -0
- data/doc/manual/associations.rdoc +55 -0
- data/doc/manual/blockups.rdoc +101 -0
- data/doc/manual/capsule.rdoc +34 -0
- data/doc/manual/command.rdoc +177 -0
- data/doc/manual/core.rdoc +37 -0
- data/doc/manual/faq.rdoc +32 -0
- data/doc/manual/typecast.html +112 -0
- data/lib/core/facets.rb +359 -11
- data/lib/core/facets/array/combination.rb +3 -3
- data/lib/core/facets/array/index.rb +4 -1
- data/lib/core/facets/array/permutation.rb +2 -2
- data/lib/core/facets/array/product.rb +1 -1
- data/lib/core/facets/binding/eval.rb +1 -1
- data/lib/core/facets/denumerable.rb +76 -0
- data/lib/core/facets/duplicable.rb +34 -0
- data/lib/core/facets/enumerable/count.rb +10 -4
- data/lib/core/facets/enumerable/defer.rb +77 -0
- data/lib/core/facets/enumerable/each_by.rb +1 -1
- data/lib/core/facets/enumerable/every.rb +35 -0
- data/lib/{more/facets/elementwise.rb → core/facets/enumerable/ewise.rb} +0 -0
- data/lib/core/facets/enumerable/filter.rb +25 -0
- data/lib/core/facets/enumerable/group_by.rb +1 -1
- data/lib/core/facets/enumerable/none.rb +3 -2
- data/lib/core/facets/enumerable/one.rb +3 -2
- data/lib/core/facets/enumerable/per.rb +61 -0
- data/lib/core/facets/exception/raised.rb +14 -0
- data/lib/core/facets/integer/odd.rb +5 -1
- data/lib/core/facets/kernel/__dir__.rb +13 -3
- data/lib/core/facets/kernel/__here__.rb +14 -0
- data/lib/core/facets/kernel/__method__.rb +9 -3
- data/lib/core/facets/kernel/ask.rb +1 -0
- data/lib/core/facets/kernel/equate.rb +13 -0
- data/lib/core/facets/kernel/extension.rb +9 -0
- data/lib/core/facets/kernel/identical.rb +4 -0
- data/lib/core/facets/kernel/instance_exec.rb +2 -1
- data/lib/core/facets/kernel/method.rb +49 -0
- data/lib/core/facets/kernel/object_send.rb +2 -2
- data/lib/core/facets/kernel/{state.rb → object_state.rb} +23 -12
- data/lib/core/facets/kernel/require_all.rb +6 -1
- data/lib/core/facets/kernel/require_local.rb +8 -1
- data/lib/core/facets/kernel/require_relative.rb +52 -0
- data/lib/core/facets/kernel/source_location.rb +13 -0
- data/lib/core/facets/kernel/tap.rb +13 -6
- data/lib/core/facets/module/attr_setter.rb +57 -0
- data/lib/core/facets/module/instance_method.rb +24 -0
- data/lib/core/facets/module/module_load.rb +60 -44
- data/lib/core/facets/module/module_require.rb +1 -0
- data/lib/core/facets/nilclass/to_f.rb +1 -1
- data/lib/core/facets/objectspace/op_fetch.rb +3 -0
- data/lib/core/facets/proc/curry.rb +4 -3
- data/lib/core/facets/string/bytes.rb +10 -4
- data/lib/core/facets/string/camelcase.rb +6 -5
- data/lib/core/facets/string/chars.rb +5 -1
- data/lib/core/facets/string/each_char.rb +1 -1
- data/lib/core/facets/string/each_word.rb +1 -1
- data/lib/core/facets/string/lines.rb +11 -4
- data/lib/core/facets/string/start_with.rb +9 -2
- data/lib/core/facets/string/unfold.rb +27 -0
- data/lib/core/facets/symbol/succ.rb +3 -3
- data/lib/core/facets/symbol/thrown.rb +20 -0
- data/lib/core/facets/symbol/to_proc.rb +3 -2
- data/lib/core/facets/time/to_time.rb +1 -1
- data/lib/core/facets/to_hash.rb +41 -100
- data/lib/core/facets/unboundmethod/name.rb +20 -23
- data/lib/more/facets/ansicode.rb +1 -10
- data/lib/more/facets/autoarray.rb +3 -31
- data/lib/more/facets/basicobject.rb +73 -0
- data/lib/more/facets/blankslate.rb +2 -66
- data/lib/{lore → more}/facets/cgi.rb +0 -0
- data/lib/more/facets/class_extend.rb +1 -0
- data/lib/{lore → more}/facets/continuation.rb +0 -0
- data/lib/{lore → more}/facets/date.rb +3 -3
- data/lib/more/facets/enumargs.rb +192 -0
- data/lib/more/facets/enumerablepass.rb +2 -216
- data/lib/more/facets/enumerator.rb +62 -0
- data/lib/more/facets/{equatable.rb → equitable.rb} +11 -11
- data/lib/more/facets/expirable.rb +13 -41
- data/lib/{lore → more}/facets/fileutils.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/head.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/safe_ln.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/slice.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/tail.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/wc.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/whereis.rb +0 -0
- data/lib/{lore → more}/facets/fileutils/which.rb +0 -0
- data/lib/{lore → more}/facets/getoptlong.rb +0 -0
- data/lib/more/facets/hook.rb +2 -29
- data/lib/more/facets/inheritor.rb +2 -2
- data/lib/more/facets/instance_eval.rb +50 -0
- data/lib/more/facets/instance_function.rb +78 -0
- data/lib/more/facets/main.rb +20 -15
- data/lib/more/facets/memoize.rb +1 -113
- data/lib/more/facets/module/attr.rb +83 -0
- data/lib/more/facets/module/attr_tester.rb +44 -0
- data/lib/more/facets/module/attr_toggler.rb +59 -0
- data/lib/more/facets/module/attr_validator.rb +34 -0
- data/lib/more/facets/{class_extension.rb → module/class_extend.rb} +21 -13
- data/lib/more/facets/once.rb +59 -0
- data/lib/more/facets/openmodule.rb +1 -0
- data/lib/more/facets/orderedhash.rb +1 -33
- data/lib/{lore → more}/facets/ostruct.rb +0 -0
- data/lib/more/facets/ostructable.rb +1 -4
- data/lib/more/facets/partial.rb +18 -16
- data/lib/{lore → more}/facets/pathname.rb +0 -0
- data/lib/more/facets/preinitialize.rb +157 -0
- data/lib/{lore → more}/facets/rbconfig.rb +0 -0
- data/lib/more/facets/recorder.rb +1 -2
- data/lib/{lore → more}/facets/set.rb +0 -0
- data/lib/{lore → more}/facets/shellwords.rb +0 -0
- data/lib/{lore → more}/facets/uri.rb +0 -0
- data/lib/{lore → more}/facets/yaml.rb +0 -0
- data/lib/{lore → more}/facets/zlib.rb +0 -0
- data/meta/loadpath +0 -1
- data/meta/sitemap +4 -0
- data/meta/version +1 -1
- data/test/core/enumerable/test_count.rb +1 -1
- data/test/{more/test_filter.rb → core/enumerable/test_defer.rb} +24 -22
- data/test/{more/test_elementor.rb → core/enumerable/test_every.rb} +2 -15
- data/test/core/enumerable/test_ewise.rb +23 -0
- data/test/core/enumerable/test_per.rb +18 -0
- data/test/core/enumerable/test_take.rb +13 -0
- data/test/core/kernel/test_deepcopy.rb +1 -1
- data/test/{more/test_1stclassmethod.rb → core/kernel/test_method.rb} +2 -7
- data/test/core/kernel/test_tap.rb +1 -1
- data/test/core/proc/test_curry.rb +11 -0
- data/test/core/string/test_bytes.rb +1 -1
- data/test/core/string/test_camelcase.rb +23 -6
- data/test/core/string/test_lines.rb +1 -1
- data/test/core/string/test_unfold.rb +14 -0
- data/test/{more → core}/test_blank.rb +0 -0
- data/test/{more → core}/test_boolean.rb +0 -0
- data/test/{more → core}/test_functor.rb +0 -0
- data/test/{lore → more}/test_basicobject.rb +0 -0
- data/test/more/{test_class_extension.rb → test_class_extend.rb} +6 -6
- data/test/{lore → more}/test_continuation.rb +0 -0
- data/test/{lore → more}/test_date.rb +0 -0
- data/test/more/{test_enumerablepass.rb → test_enumargs.rb} +2 -4
- data/test/more/{test_equatable.rb → test_equitable.rb} +2 -2
- data/test/more/{test_instantise.rb → test_instance_function.rb} +3 -2
- data/test/more/test_memoize.rb +1 -1
- data/test/{lore → more}/test_ostruct.rb +0 -0
- metadata +865 -1016
- data/RELEASE +0 -38
- data/doc/README.lore +0 -51
- data/doc/log/basic_stats/index.html +0 -39
- data/doc/log/changelog.html +0 -648
- data/doc/log/changelog.txt +0 -217
- data/doc/log/stats/index.html +0 -39
- data/doc/log/testlog.txt +0 -278
- data/doc/notes/CHANGES +0 -2529
- data/doc/rdoc/lore/classes/Array.html +0 -176
- data/doc/rdoc/lore/classes/CGI.html +0 -191
- data/doc/rdoc/lore/classes/Config.html +0 -135
- data/doc/rdoc/lore/classes/Continuation.html +0 -113
- data/doc/rdoc/lore/classes/Date.html +0 -631
- data/doc/rdoc/lore/classes/DateTime.html +0 -583
- data/doc/rdoc/lore/classes/Enumerable.html +0 -89
- data/doc/rdoc/lore/classes/Enumerable/Enumerator.html +0 -147
- data/doc/rdoc/lore/classes/File.html +0 -128
- data/doc/rdoc/lore/classes/FileUtils.html +0 -434
- data/doc/rdoc/lore/classes/GetoptLong.html +0 -118
- data/doc/rdoc/lore/classes/GetoptLong/DSL.html +0 -208
- data/doc/rdoc/lore/classes/Kernel.html +0 -135
- data/doc/rdoc/lore/classes/Logger.html +0 -229
- data/doc/rdoc/lore/classes/Logger/Ansicolor.html +0 -277
- data/doc/rdoc/lore/classes/Logger/LogDevice.html +0 -121
- data/doc/rdoc/lore/classes/NilClass.html +0 -119
- data/doc/rdoc/lore/classes/OpenStruct.html +0 -432
- data/doc/rdoc/lore/classes/Pathname.html +0 -353
- data/doc/rdoc/lore/classes/Set.html +0 -117
- data/doc/rdoc/lore/classes/Shellwords.html +0 -111
- data/doc/rdoc/lore/classes/String.html +0 -140
- data/doc/rdoc/lore/classes/Time.html +0 -154
- data/doc/rdoc/lore/classes/URI.html +0 -454
- data/doc/rdoc/lore/classes/URI/Hash.html +0 -105
- data/doc/rdoc/lore/classes/URI/Kernel.html +0 -122
- data/doc/rdoc/lore/classes/Zlib.html +0 -188
- data/doc/rdoc/lore/created.rid +0 -1
- data/doc/rdoc/lore/files/README.html +0 -286
- data/doc/rdoc/lore/files/doc/README_lore.html +0 -155
- data/doc/rdoc/lore/files/lib/lore/facets/basicobject_rb.html +0 -118
- data/doc/rdoc/lore/files/lib/lore/facets/cgi_rb.html +0 -111
- data/doc/rdoc/lore/files/lib/lore/facets/continuation_rb.html +0 -147
- data/doc/rdoc/lore/files/lib/lore/facets/date_rb.html +0 -97
- data/doc/rdoc/lore/files/lib/lore/facets/enumerator_rb.html +0 -111
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/head_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/safe_ln_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/slice_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/tail_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/wc_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/whereis_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils/which_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/fileutils_rb.html +0 -131
- data/doc/rdoc/lore/files/lib/lore/facets/getoptlong_rb.html +0 -135
- data/doc/rdoc/lore/files/lib/lore/facets/logger_rb.html +0 -142
- data/doc/rdoc/lore/files/lib/lore/facets/ostruct_rb.html +0 -135
- data/doc/rdoc/lore/files/lib/lore/facets/pathname_rb.html +0 -145
- data/doc/rdoc/lore/files/lib/lore/facets/rbconfig_rb.html +0 -124
- data/doc/rdoc/lore/files/lib/lore/facets/set_rb.html +0 -96
- data/doc/rdoc/lore/files/lib/lore/facets/shellwords_rb.html +0 -124
- data/doc/rdoc/lore/files/lib/lore/facets/uri_rb.html +0 -125
- data/doc/rdoc/lore/files/lib/lore/facets/yaml_rb.html +0 -146
- data/doc/rdoc/lore/files/lib/lore/facets/zlib_rb.html +0 -97
- data/doc/rdoc/lore/fr_class_index.html +0 -73
- data/doc/rdoc/lore/fr_file_index.html +0 -71
- data/doc/rdoc/lore/fr_method_index.html +0 -177
- data/doc/rdoc/lore/index.html +0 -26
- data/doc/rdoc/lore/rdoc-style.css +0 -177
- data/doc/release-notes/RELEASE-2.0.5 +0 -8
- data/doc/release-notes/RELEASE-2.1.0 +0 -9
- data/doc/release-notes/RELEASE-2.1.1 +0 -5
- data/doc/release-notes/RELEASE-2.1.2 +0 -6
- data/doc/release-notes/RELEASE-2.1.3 +0 -5
- data/doc/release-notes/RELEASE-2.2.0 +0 -14
- data/doc/release-notes/RELEASE-2.2.1 +0 -4
- data/doc/release-notes/RELEASE-2.3.0 +0 -6
- data/doc/release-notes/RELEASE-2.4.0 +0 -70
- data/doc/release-notes/RELEASE-2.4.1 +0 -8
- data/doc/release-notes/RELEASE-2.4.2 +0 -4
- data/doc/release-notes/RELEASE-2.4.3 +0 -78
- data/doc/release-notes/RELEASE-2.4.4 +0 -38
- data/doc/release-notes/RELEASE-2.4.5 +0 -37
- data/doc/release-notes/RELEASE-2.5.0 +0 -83
- data/lib/core/facets/kernel/instance.rb +0 -19
- data/lib/lore/facets/basicobject.rb +0 -14
- data/lib/lore/facets/enumerator.rb +0 -67
- data/lib/lore/facets/logger.rb +0 -291
- data/lib/more/facets/1stclassmethod.rb +0 -140
- data/lib/more/facets/advisable.rb +0 -162
- data/lib/more/facets/association.rb +0 -210
- data/lib/more/facets/attr.rb +0 -209
- data/lib/more/facets/basex.rb +0 -37
- data/lib/more/facets/bbcode.rb +0 -397
- data/lib/more/facets/bicrypt.rb +0 -265
- data/lib/more/facets/binreadable.rb +0 -221
- data/lib/more/facets/censor.rb +0 -97
- data/lib/more/facets/classmethods.rb +0 -199
- data/lib/more/facets/consoleutils.rb +0 -99
- data/lib/more/facets/crypt.rb +0 -166
- data/lib/more/facets/dependency.rb +0 -151
- data/lib/more/facets/downloader.rb +0 -281
- data/lib/more/facets/duplicable.rb +0 -43
- data/lib/more/facets/elementor.rb +0 -133
- data/lib/more/facets/filter.rb +0 -121
- data/lib/more/facets/heap.rb +0 -22
- data/lib/more/facets/infinity.rb +0 -193
- data/lib/more/facets/ini.rb +0 -264
- data/lib/more/facets/instantise.rb +0 -1
- data/lib/more/facets/instantize.rb +0 -95
- data/lib/more/facets/interval.rb +0 -282
- data/lib/more/facets/iteration.rb +0 -65
- data/lib/more/facets/linkedlist.rb +0 -222
- data/lib/more/facets/lrucache.rb +0 -157
- data/lib/more/facets/matcher.rb +0 -140
- data/lib/more/facets/memoizer.rb +0 -74
- data/lib/more/facets/minitar.rb +0 -1063
- data/lib/more/facets/nackclass.rb +0 -41
- data/lib/more/facets/net/smtp_tls.rb +0 -131
- data/lib/more/facets/nilstatus.rb +0 -48
- data/lib/more/facets/overload.rb +0 -94
- data/lib/more/facets/paramix.rb +0 -202
- data/lib/more/facets/pool.rb +0 -91
- data/lib/more/facets/pqueue.rb +0 -449
- data/lib/more/facets/pry.rb +0 -32
- data/lib/more/facets/reflection.rb +0 -145
- data/lib/more/facets/semaphore.rb +0 -92
- data/lib/more/facets/settings.rb +0 -248
- data/lib/more/facets/snapshot.rb +0 -209
- data/lib/more/facets/sparse_array.rb +0 -809
- data/lib/more/facets/string/mask.rb +0 -278
- data/lib/more/facets/string/obfuscate.rb +0 -65
- data/lib/more/facets/string/stylize.rb +0 -169
- data/lib/more/facets/string/words.rb +0 -167
- data/lib/more/facets/syncarray.rb +0 -114
- data/lib/more/facets/synchash.rb +0 -157
- data/lib/more/facets/typecast.rb +0 -261
- data/lib/more/facets/uninheritable.rb +0 -50
- data/lib/more/facets/xmlhash.rb +0 -112
- data/lib/more/facets/xoxo.rb +0 -259
- data/lib/more/facets/ziputils.rb +0 -490
- data/task/conflicts +0 -63
- data/task/coverage.rake +0 -37
- data/task/methods +0 -49
- data/task/rdoc.rake +0 -17
- data/task/setup.rake +0 -38
- data/task/test.rake +0 -145
- data/test/more/test_advisable.rb +0 -71
- data/test/more/test_association.rb +0 -38
- data/test/more/test_bbcode.rb +0 -21
- data/test/more/test_binreadable.rb +0 -50
- data/test/more/test_buildable.rb +0 -73
- data/test/more/test_classmethods.rb +0 -56
- data/test/more/test_crypt.rb +0 -32
- data/test/more/test_dependency.rb +0 -69
- data/test/more/test_elementwise.rb +0 -25
- data/test/more/test_infinity.rb +0 -40
- data/test/more/test_interval.rb +0 -151
- data/test/more/test_linkedlist.rb +0 -41
- data/test/more/test_lrucache.rb +0 -14
- data/test/more/test_overload.rb +0 -160
- data/test/more/test_paramix.rb +0 -170
- data/test/more/test_prototype.rb +0 -35
- data/test/more/test_snapshot.rb +0 -21
- data/test/more/test_sparsearray.rb +0 -279
- data/test/more/test_syncarray.rb +0 -15
- data/test/more/test_synchash.rb +0 -16
- data/test/more/test_typecast.rb +0 -54
- data/test/more/test_uninheritable.rb +0 -31
- data/test/more/test_xoxo.rb +0 -274
- data/test/test_facets.rb +0 -9
@@ -1,111 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Module: Shellwords</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "+"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "-"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Module</span><br />Shellwords</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../files/lib/lore/facets/shellwords_rb.html">lib/lore/facets/shellwords.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
</table>
|
64
|
-
</td>
|
65
|
-
</tr>
|
66
|
-
</table>
|
67
|
-
<!-- banner header -->
|
68
|
-
|
69
|
-
<div id="bodyContent">
|
70
|
-
<div id="content">
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
<div class="sectiontitle">Methods</div>
|
76
|
-
<span style="padding-right: 5px;"><a href="#M000124">escape</a></span>
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
<div class="sectiontitle">Public Instance methods</div>
|
84
|
-
<div class="method">
|
85
|
-
<div class="title">
|
86
|
-
<a name="M000124"></a><b>escape</b>(cmdline)
|
87
|
-
</div>
|
88
|
-
<div class="description">
|
89
|
-
<p>
|
90
|
-
Escape special characters used in most unix shells to use it, eg. with
|
91
|
-
system().
|
92
|
-
</p>
|
93
|
-
</div>
|
94
|
-
<div class="sourcecode">
|
95
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000124_source')" id="l_M000124_source">+</a> ]</p>
|
96
|
-
<div id="M000124_source" class="dyn-source">
|
97
|
-
<pre>
|
98
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/shellwords.rb, line 31</span>
|
99
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape</span>(<span class="ruby-identifier">cmdline</span>)
|
100
|
-
<span class="ruby-identifier">cmdline</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([\\\t\| &`<>)('"])/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-value str">'\\'</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">s</span> }
|
101
|
-
<span class="ruby-keyword kw">end</span>
|
102
|
-
</pre>
|
103
|
-
</div>
|
104
|
-
</div>
|
105
|
-
</div>
|
106
|
-
</div>
|
107
|
-
|
108
|
-
</div>
|
109
|
-
|
110
|
-
</body>
|
111
|
-
</html>
|
@@ -1,140 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Class: String</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "+"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "-"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Class</span><br />String</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../files/lib/lore/facets/date_rb.html">lib/lore/facets/date.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td>Parent:</td>
|
65
|
-
<td>
|
66
|
-
Object
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</table>
|
70
|
-
</td>
|
71
|
-
</tr>
|
72
|
-
</table>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
<div id="content">
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
<div class="sectiontitle">Methods</div>
|
82
|
-
<span style="padding-right: 5px;"><a href="#M000099">to_date</a></span>
|
83
|
-
<span style="padding-right: 5px;"><a href="#M000098">to_datetime</a></span>
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
<div class="sectiontitle">Public Instance methods</div>
|
91
|
-
<div class="method">
|
92
|
-
<div class="title">
|
93
|
-
<a name="M000099"></a><b>to_date</b>()
|
94
|
-
</div>
|
95
|
-
<div class="description">
|
96
|
-
<p>
|
97
|
-
Parse data from string.
|
98
|
-
</p>
|
99
|
-
</div>
|
100
|
-
<div class="sourcecode">
|
101
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000099_source')" id="l_M000099_source">+</a> ]</p>
|
102
|
-
<div id="M000099_source" class="dyn-source">
|
103
|
-
<pre>
|
104
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/date.rb, line 390</span>
|
105
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>
|
106
|
-
<span class="ruby-comment cmt">#::Date::civil(*ParseDate.parsedate(self)[0..2])</span>
|
107
|
-
<span class="ruby-operator">::</span><span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-operator">::</span><span class="ruby-constant">Date</span>.<span class="ruby-identifier">_parse</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>).<span class="ruby-identifier">values_at</span>(<span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:mon</span>, <span class="ruby-identifier">:mday</span>))
|
108
|
-
<span class="ruby-keyword kw">end</span>
|
109
|
-
</pre>
|
110
|
-
</div>
|
111
|
-
</div>
|
112
|
-
</div>
|
113
|
-
<div class="method">
|
114
|
-
<div class="title">
|
115
|
-
<a name="M000098"></a><b>to_datetime</b>()
|
116
|
-
</div>
|
117
|
-
<div class="description">
|
118
|
-
<p>
|
119
|
-
Convert string to <a href="DateTime.html">DateTime</a>.
|
120
|
-
</p>
|
121
|
-
</div>
|
122
|
-
<div class="sourcecode">
|
123
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000098_source')" id="l_M000098_source">+</a> ]</p>
|
124
|
-
<div id="M000098_source" class="dyn-source">
|
125
|
-
<pre>
|
126
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/date.rb, line 384</span>
|
127
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_datetime</span>
|
128
|
-
<span class="ruby-identifier">date</span> = <span class="ruby-operator">::</span><span class="ruby-constant">Date</span>.<span class="ruby-identifier">_parse</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>).<span class="ruby-identifier">values_at</span>(<span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:mon</span>, <span class="ruby-identifier">:mday</span>, <span class="ruby-identifier">:hour</span>, <span class="ruby-identifier">:min</span>, <span class="ruby-identifier">:sec</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span> }
|
129
|
-
<span class="ruby-operator">::</span><span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">civil</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">date</span>)
|
130
|
-
<span class="ruby-keyword kw">end</span>
|
131
|
-
</pre>
|
132
|
-
</div>
|
133
|
-
</div>
|
134
|
-
</div>
|
135
|
-
</div>
|
136
|
-
|
137
|
-
</div>
|
138
|
-
|
139
|
-
</body>
|
140
|
-
</html>
|
@@ -1,154 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Class: Time</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "+"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "-"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Class</span><br />Time</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../files/lib/lore/facets/date_rb.html">lib/lore/facets/date.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td>Parent:</td>
|
65
|
-
<td>
|
66
|
-
Object
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</table>
|
70
|
-
</td>
|
71
|
-
</tr>
|
72
|
-
</table>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
<div id="content">
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
<div class="sectiontitle">Methods</div>
|
82
|
-
<span style="padding-right: 5px;"><a href="#M000002">to_date</a></span>
|
83
|
-
<span style="padding-right: 5px;"><a href="#M000003">to_datetime</a></span>
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
<div class="sectiontitle">Public Instance methods</div>
|
91
|
-
<div class="method">
|
92
|
-
<div class="title">
|
93
|
-
<a name="M000002"></a><b>to_date</b>()
|
94
|
-
</div>
|
95
|
-
<div class="description">
|
96
|
-
<p>
|
97
|
-
Converts a <a href="Time.html">Time</a> object to a <a
|
98
|
-
href="Date.html">Date</a>, dropping hour, minute, and second precision.
|
99
|
-
</p>
|
100
|
-
<pre>
|
101
|
-
my_time = Time.now # => Mon Nov 12 22:59:51 -0500 2007
|
102
|
-
my_time.to_date # => Mon, 12 Nov 2007
|
103
|
-
|
104
|
-
your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
|
105
|
-
your_time.to_date # => Tue, 13 Jan 2009
|
106
|
-
</pre>
|
107
|
-
</div>
|
108
|
-
<div class="sourcecode">
|
109
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000002_source')" id="l_M000002_source">+</a> ]</p>
|
110
|
-
<div id="M000002_source" class="dyn-source">
|
111
|
-
<pre>
|
112
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/date.rb, line 353</span>
|
113
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>
|
114
|
-
<span class="ruby-operator">::</span><span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>)
|
115
|
-
<span class="ruby-keyword kw">end</span>
|
116
|
-
</pre>
|
117
|
-
</div>
|
118
|
-
</div>
|
119
|
-
</div>
|
120
|
-
<div class="method">
|
121
|
-
<div class="title">
|
122
|
-
<a name="M000003"></a><b>to_datetime</b>()
|
123
|
-
</div>
|
124
|
-
<div class="description">
|
125
|
-
<p>
|
126
|
-
Converts a <a href="Time.html">Time</a> instance to a Ruby <a
|
127
|
-
href="DateTime.html">DateTime</a> instance, preserving UTC offset.
|
128
|
-
</p>
|
129
|
-
<pre>
|
130
|
-
my_time = Time.now # => Mon Nov 12 23:04:21 -0500 2007
|
131
|
-
my_time.to_datetime # => Mon, 12 Nov 2007 23:04:21 -0500
|
132
|
-
|
133
|
-
your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
|
134
|
-
your_time.to_datetime # => Tue, 13 Jan 2009 13:13:03 -0500
|
135
|
-
</pre>
|
136
|
-
</div>
|
137
|
-
<div class="sourcecode">
|
138
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">+</a> ]</p>
|
139
|
-
<div id="M000003_source" class="dyn-source">
|
140
|
-
<pre>
|
141
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/date.rb, line 374</span>
|
142
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_datetime</span>
|
143
|
-
<span class="ruby-operator">::</span><span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">civil</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-constant">Rational</span>(<span class="ruby-identifier">utc_offset</span>, <span class="ruby-value">86400</span>))
|
144
|
-
<span class="ruby-keyword kw">end</span>
|
145
|
-
</pre>
|
146
|
-
</div>
|
147
|
-
</div>
|
148
|
-
</div>
|
149
|
-
</div>
|
150
|
-
|
151
|
-
</div>
|
152
|
-
|
153
|
-
</body>
|
154
|
-
</html>
|
@@ -1,454 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Module: URI</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "+"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "-"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Module</span><br />URI</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../files/lib/lore/facets/uri_rb.html">lib/lore/facets/uri.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
</table>
|
64
|
-
</td>
|
65
|
-
</tr>
|
66
|
-
</table>
|
67
|
-
<!-- banner header -->
|
68
|
-
|
69
|
-
<div id="bodyContent">
|
70
|
-
<div id="content">
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
<div class="sectiontitle">Methods</div>
|
76
|
-
<span style="padding-right: 5px;"><a href="#M000105">cgi_escape</a></span>
|
77
|
-
<span style="padding-right: 5px;"><a href="#M000107">cgi_parse</a></span>
|
78
|
-
<span style="padding-right: 5px;"><a href="#M000106">cgi_unescape</a></span>
|
79
|
-
<span style="padding-right: 5px;"><a href="#M000109">chomp_query_string</a></span>
|
80
|
-
<span style="padding-right: 5px;"><a href="#M000100">decode</a></span>
|
81
|
-
<span style="padding-right: 5px;"><a href="#M000108">get_query_string</a></span>
|
82
|
-
<span style="padding-right: 5px;"><a href="#M000103">hash_to_query</a></span>
|
83
|
-
<span style="padding-right: 5px;"><a href="#M000104">hash_to_query_string</a></span>
|
84
|
-
<span style="padding-right: 5px;"><a href="#M000102">query_string_to_hash</a></span>
|
85
|
-
<span style="padding-right: 5px;"><a href="#M000101">query_to_hash</a></span>
|
86
|
-
<span style="padding-right: 5px;"><a href="#M000110">update_query_string</a></span>
|
87
|
-
<span style="padding-right: 5px;"><a href="#M000111">update_request_uri</a></span>
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
<div class="sectiontitle">Classes and Modules</div>
|
92
|
-
Module <a href="URI/Hash.html" class="link">URI::Hash</a><br />
|
93
|
-
Module <a href="URI/Kernel.html" class="link">URI::Kernel</a><br />
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
<div class="sectiontitle">Public Instance methods</div>
|
99
|
-
<div class="method">
|
100
|
-
<div class="title">
|
101
|
-
<a name="M000105"></a><b>cgi_escape</b>(string)
|
102
|
-
</div>
|
103
|
-
<div class="description">
|
104
|
-
<p>
|
105
|
-
TODO: How does this compare to URI.escape?
|
106
|
-
</p>
|
107
|
-
</div>
|
108
|
-
<div class="sourcecode">
|
109
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000105_source')" id="l_M000105_source">+</a> ]</p>
|
110
|
-
<div id="M000105_source" class="dyn-source">
|
111
|
-
<pre>
|
112
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 109</span>
|
113
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cgi_escape</span>(<span class="ruby-identifier">string</span>)
|
114
|
-
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([^ a-zA-Z0-9_.-]+)/n</span>) <span class="ruby-keyword kw">do</span>
|
115
|
-
<span class="ruby-value str">'%'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'H2'</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">size</span>).<span class="ruby-identifier">join</span>(<span class="ruby-value str">'%'</span>).<span class="ruby-identifier">upcase</span>
|
116
|
-
<span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">'+'</span>)
|
117
|
-
<span class="ruby-keyword kw">end</span>
|
118
|
-
</pre>
|
119
|
-
</div>
|
120
|
-
</div>
|
121
|
-
</div>
|
122
|
-
<div class="method">
|
123
|
-
<div class="title">
|
124
|
-
<a name="M000107"></a><b>cgi_parse</b>(query)
|
125
|
-
</div>
|
126
|
-
<div class="sourcecode">
|
127
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000107_source')" id="l_M000107_source">+</a> ]</p>
|
128
|
-
<div id="M000107_source" class="dyn-source">
|
129
|
-
<pre>
|
130
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 125</span>
|
131
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cgi_parse</span>(<span class="ruby-identifier">query</span>)
|
132
|
-
<span class="ruby-identifier">params</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>([].<span class="ruby-identifier">freeze</span>)
|
133
|
-
|
134
|
-
<span class="ruby-identifier">query</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/[&;]/n</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pairs</span><span class="ruby-operator">|</span>
|
135
|
-
<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span> = <span class="ruby-identifier">pairs</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'='</span>,<span class="ruby-value">2</span>).<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">cgi_unescape</span>(<span class="ruby-identifier">v</span>) }
|
136
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">key</span>)
|
137
|
-
<span class="ruby-identifier">params</span>[<span class="ruby-identifier">key</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">value</span>)
|
138
|
-
<span class="ruby-keyword kw">else</span>
|
139
|
-
<span class="ruby-identifier">params</span>[<span class="ruby-identifier">key</span>] = [<span class="ruby-identifier">value</span>]
|
140
|
-
<span class="ruby-keyword kw">end</span>
|
141
|
-
<span class="ruby-keyword kw">end</span>
|
142
|
-
|
143
|
-
<span class="ruby-identifier">params</span>
|
144
|
-
<span class="ruby-keyword kw">end</span>
|
145
|
-
</pre>
|
146
|
-
</div>
|
147
|
-
</div>
|
148
|
-
</div>
|
149
|
-
<div class="method">
|
150
|
-
<div class="title">
|
151
|
-
<a name="M000106"></a><b>cgi_unescape</b>(string)
|
152
|
-
</div>
|
153
|
-
<div class="sourcecode">
|
154
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000106_source')" id="l_M000106_source">+</a> ]</p>
|
155
|
-
<div id="M000106_source" class="dyn-source">
|
156
|
-
<pre>
|
157
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 117</span>
|
158
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cgi_unescape</span>(<span class="ruby-identifier">string</span>)
|
159
|
-
<span class="ruby-identifier">string</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">'+'</span>, <span class="ruby-value str">' '</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/((?:%[0-9a-fA-F]{2})+)/n</span>) <span class="ruby-keyword kw">do</span>
|
160
|
-
[<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'%'</span>)].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'H*'</span>)
|
161
|
-
<span class="ruby-keyword kw">end</span>
|
162
|
-
<span class="ruby-keyword kw">end</span>
|
163
|
-
</pre>
|
164
|
-
</div>
|
165
|
-
</div>
|
166
|
-
</div>
|
167
|
-
<div class="method">
|
168
|
-
<div class="title">
|
169
|
-
<a name="M000109"></a><b>chomp_query_string</b>(uri)
|
170
|
-
</div>
|
171
|
-
<div class="description">
|
172
|
-
<p>
|
173
|
-
Removes the query string from a uri
|
174
|
-
</p>
|
175
|
-
<p>
|
176
|
-
Input: the uri
|
177
|
-
</p>
|
178
|
-
<p>
|
179
|
-
Output: the chomped uri.
|
180
|
-
</p>
|
181
|
-
</div>
|
182
|
-
<div class="sourcecode">
|
183
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000109_source')" id="l_M000109_source">+</a> ]</p>
|
184
|
-
<div id="M000109_source" class="dyn-source">
|
185
|
-
<pre>
|
186
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 169</span>
|
187
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chomp_query_string</span>(<span class="ruby-identifier">uri</span>)
|
188
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>
|
189
|
-
<span class="ruby-identifier">query_string</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_query_string</span>(<span class="ruby-identifier">uri</span>)
|
190
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-node">"?#{query_string}"</span>)
|
191
|
-
<span class="ruby-keyword kw">end</span>
|
192
|
-
</pre>
|
193
|
-
</div>
|
194
|
-
</div>
|
195
|
-
</div>
|
196
|
-
<div class="method">
|
197
|
-
<div class="title">
|
198
|
-
<a name="M000100"></a><b>decode</b>(uri)
|
199
|
-
</div>
|
200
|
-
<div class="description">
|
201
|
-
<p>
|
202
|
-
Decode the uri components.
|
203
|
-
</p>
|
204
|
-
</div>
|
205
|
-
<div class="sourcecode">
|
206
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000100_source')" id="l_M000100_source">+</a> ]</p>
|
207
|
-
<div id="M000100_source" class="dyn-source">
|
208
|
-
<pre>
|
209
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 33</span>
|
210
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decode</span>(<span class="ruby-identifier">uri</span>)
|
211
|
-
<span class="ruby-comment cmt"># gmosx: hmm is this needed?</span>
|
212
|
-
<span class="ruby-comment cmt"># guard against invalid filenames for example pictures with</span>
|
213
|
-
<span class="ruby-comment cmt"># spaces uploaded by users</span>
|
214
|
-
<span class="ruby-identifier">escaped_uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/ /</span>, <span class="ruby-value str">"+"</span>)
|
215
|
-
|
216
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">md</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">REGEXP</span><span class="ruby-operator">::</span><span class="ruby-constant">REL_URI</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">escaped_uri</span>)
|
217
|
-
|
218
|
-
<span class="ruby-identifier">path</span> = <span class="ruby-node">"#{md[5]}#{md[6]}"</span>
|
219
|
-
<span class="ruby-identifier">type</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">path</span>)
|
220
|
-
<span class="ruby-identifier">query_string</span> = <span class="ruby-identifier">md</span>[<span class="ruby-value">7</span>]
|
221
|
-
|
222
|
-
<span class="ruby-comment cmt"># real_path = "#{$root_dir}/#{path}"</span>
|
223
|
-
|
224
|
-
<span class="ruby-identifier">parameters</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">query_to_hash</span>(<span class="ruby-identifier">query_string</span>)
|
225
|
-
<span class="ruby-identifier">path</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\+/</span>, <span class="ruby-value str">" "</span>)
|
226
|
-
|
227
|
-
<span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">path</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">parameters</span>, <span class="ruby-identifier">query_string</span>]
|
228
|
-
|
229
|
-
<span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># match</span>
|
230
|
-
|
231
|
-
<span class="ruby-comment cmt"># this is usefull for uncovering bugs!</span>
|
232
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"the parameter '#{uri}' is not a valid uri"</span>)
|
233
|
-
<span class="ruby-keyword kw">end</span>
|
234
|
-
</pre>
|
235
|
-
</div>
|
236
|
-
</div>
|
237
|
-
</div>
|
238
|
-
<div class="method">
|
239
|
-
<div class="title">
|
240
|
-
<a name="M000108"></a><b>get_query_string</b>(uri)
|
241
|
-
</div>
|
242
|
-
<div class="description">
|
243
|
-
<p>
|
244
|
-
This method returns the query string of a uri
|
245
|
-
</p>
|
246
|
-
<p>
|
247
|
-
Input: the uri
|
248
|
-
</p>
|
249
|
-
<p>
|
250
|
-
Output: the query string. returns nil if no query string
|
251
|
-
</p>
|
252
|
-
</div>
|
253
|
-
<div class="sourcecode">
|
254
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000108_source')" id="l_M000108_source">+</a> ]</p>
|
255
|
-
<div id="M000108_source" class="dyn-source">
|
256
|
-
<pre>
|
257
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 149</span>
|
258
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_query_string</span>(<span class="ruby-identifier">uri</span>)
|
259
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>
|
260
|
-
<span class="ruby-comment cmt"># gmosx: INVESTIGATE ruby's URI seems to differently handle</span>
|
261
|
-
<span class="ruby-comment cmt"># abs and rel uris.</span>
|
262
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">md</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">REGEXP</span><span class="ruby-operator">::</span><span class="ruby-constant">ABS_URI</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">uri</span>)
|
263
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">md</span>[<span class="ruby-value">8</span>]
|
264
|
-
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">md</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">REGEXP</span><span class="ruby-operator">::</span><span class="ruby-constant">REL_URI</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">uri</span>)
|
265
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">md</span>[<span class="ruby-value">7</span>]
|
266
|
-
<span class="ruby-keyword kw">end</span>
|
267
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
268
|
-
<span class="ruby-keyword kw">end</span>
|
269
|
-
</pre>
|
270
|
-
</div>
|
271
|
-
</div>
|
272
|
-
</div>
|
273
|
-
<div class="method">
|
274
|
-
<div class="title">
|
275
|
-
<a name="M000103"></a><b>hash_to_query</b>(parameters)
|
276
|
-
</div>
|
277
|
-
<div class="description">
|
278
|
-
<p>
|
279
|
-
Given a hash with parameter/value pairs construct a standard query string.
|
280
|
-
</p>
|
281
|
-
<pre>
|
282
|
-
URI.hash_to_query(:a => 1, :b => 2)
|
283
|
-
=> "a=1&b=2"
|
284
|
-
</pre>
|
285
|
-
</div>
|
286
|
-
<div class="aka">
|
287
|
-
This method is also aliased as
|
288
|
-
<a href="URI.html#M000104">hash_to_query_string</a>
|
289
|
-
</div>
|
290
|
-
<div class="sourcecode">
|
291
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000103_source')" id="l_M000103_source">+</a> ]</p>
|
292
|
-
<div id="M000103_source" class="dyn-source">
|
293
|
-
<pre>
|
294
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 94</span>
|
295
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash_to_query</span>(<span class="ruby-identifier">parameters</span>)
|
296
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">parameters</span>
|
297
|
-
<span class="ruby-identifier">pairs</span> = []
|
298
|
-
<span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">param</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
299
|
-
<span class="ruby-identifier">pairs</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{param}=#{cgi_escape(value.to_s)}"</span>
|
300
|
-
<span class="ruby-keyword kw">end</span>
|
301
|
-
<span class="ruby-comment cmt">#return pairs.join('&')</span>
|
302
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">pairs</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">";"</span>)
|
303
|
-
<span class="ruby-keyword kw">end</span>
|
304
|
-
</pre>
|
305
|
-
</div>
|
306
|
-
</div>
|
307
|
-
</div>
|
308
|
-
<div class="method">
|
309
|
-
<div class="title">
|
310
|
-
<a name="M000104"></a><b>hash_to_query_string</b>(parameters)
|
311
|
-
</div>
|
312
|
-
<div class="description">
|
313
|
-
<p>
|
314
|
-
Alias for <a href="URI.html#M000103">hash_to_query</a>
|
315
|
-
</p>
|
316
|
-
</div>
|
317
|
-
</div>
|
318
|
-
<div class="method">
|
319
|
-
<div class="title">
|
320
|
-
<a name="M000102"></a><b>query_string_to_hash</b>(query_string)
|
321
|
-
</div>
|
322
|
-
<div class="description">
|
323
|
-
<p>
|
324
|
-
Alias for <a href="URI.html#M000101">query_to_hash</a>
|
325
|
-
</p>
|
326
|
-
</div>
|
327
|
-
</div>
|
328
|
-
<div class="method">
|
329
|
-
<div class="title">
|
330
|
-
<a name="M000101"></a><b>query_to_hash</b>(query_string)
|
331
|
-
</div>
|
332
|
-
<div class="description">
|
333
|
-
<p>
|
334
|
-
Extend the basic query string parser provided by the cgi module. converts
|
335
|
-
single valued params (the most common case) to objects instead of arrays
|
336
|
-
</p>
|
337
|
-
<p>
|
338
|
-
Input: the query string
|
339
|
-
</p>
|
340
|
-
<p>
|
341
|
-
Output: hash of parameters, contains arrays for multivalued parameters
|
342
|
-
(multiselect, checkboxes , etc) If no query string is provided (nil or
|
343
|
-
"") returns an empty hash.
|
344
|
-
</p>
|
345
|
-
</div>
|
346
|
-
<div class="aka">
|
347
|
-
This method is also aliased as
|
348
|
-
<a href="URI.html#M000102">query_string_to_hash</a>
|
349
|
-
</div>
|
350
|
-
<div class="sourcecode">
|
351
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">+</a> ]</p>
|
352
|
-
<div id="M000101_source" class="dyn-source">
|
353
|
-
<pre>
|
354
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 70</span>
|
355
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_to_hash</span>(<span class="ruby-identifier">query_string</span>)
|
356
|
-
<span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">query_string</span>
|
357
|
-
|
358
|
-
<span class="ruby-identifier">query_parameters</span> = <span class="ruby-identifier">cgi_parse</span>(<span class="ruby-identifier">query_string</span>)
|
359
|
-
|
360
|
-
<span class="ruby-identifier">query_parameters</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
|
361
|
-
<span class="ruby-comment cmt"># replace the array with an object</span>
|
362
|
-
<span class="ruby-identifier">query_parameters</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">val</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">length</span>
|
363
|
-
}
|
364
|
-
|
365
|
-
<span class="ruby-comment cmt"># set default value to nil! cgi sets this to []</span>
|
366
|
-
<span class="ruby-identifier">query_parameters</span>.<span class="ruby-identifier">default</span> = <span class="ruby-keyword kw">nil</span>
|
367
|
-
|
368
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query_parameters</span>
|
369
|
-
<span class="ruby-keyword kw">end</span>
|
370
|
-
</pre>
|
371
|
-
</div>
|
372
|
-
</div>
|
373
|
-
</div>
|
374
|
-
<div class="method">
|
375
|
-
<div class="title">
|
376
|
-
<a name="M000110"></a><b>update_query_string</b>(uri, parameters)
|
377
|
-
</div>
|
378
|
-
<div class="description">
|
379
|
-
<p>
|
380
|
-
Get a uri and a hash of parameters. Inject the hash values as parameters in
|
381
|
-
the query sting path. Returns the full uri.
|
382
|
-
</p>
|
383
|
-
<p>
|
384
|
-
Input: the uri to filter (<a href="String.html">String</a>) hash of
|
385
|
-
parameters to update
|
386
|
-
</p>
|
387
|
-
<p>
|
388
|
-
Output: the full updated query string
|
389
|
-
</p>
|
390
|
-
<p>
|
391
|
-
TODO: optimize
|
392
|
-
</p>
|
393
|
-
</div>
|
394
|
-
<div class="sourcecode">
|
395
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000110_source')" id="l_M000110_source">+</a> ]</p>
|
396
|
-
<div id="M000110_source" class="dyn-source">
|
397
|
-
<pre>
|
398
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 188</span>
|
399
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_query_string</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">parameters</span>)
|
400
|
-
<span class="ruby-identifier">query_string</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_query_string</span>(<span class="ruby-identifier">uri</span>)
|
401
|
-
<span class="ruby-identifier">rest</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/\?#{query_string}/</span>, <span class="ruby-value str">""</span>)
|
402
|
-
|
403
|
-
<span class="ruby-identifier">hash</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">query_string_to_hash</span>(<span class="ruby-identifier">query_string</span>)
|
404
|
-
<span class="ruby-identifier">hash</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">parameters</span>)
|
405
|
-
<span class="ruby-identifier">query_string</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hash_to_query_string</span>(<span class="ruby-identifier">hash</span>)
|
406
|
-
|
407
|
-
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">query_string</span>.<span class="ruby-identifier">blank?</span>
|
408
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-node">"#{rest}?#{query_string}"</span>
|
409
|
-
<span class="ruby-keyword kw">else</span>
|
410
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rest</span>
|
411
|
-
<span class="ruby-keyword kw">end</span>
|
412
|
-
<span class="ruby-keyword kw">end</span>
|
413
|
-
</pre>
|
414
|
-
</div>
|
415
|
-
</div>
|
416
|
-
</div>
|
417
|
-
<div class="method">
|
418
|
-
<div class="title">
|
419
|
-
<a name="M000111"></a><b>update_request_uri</b>(request, parameters)
|
420
|
-
</div>
|
421
|
-
<div class="description">
|
422
|
-
<p>
|
423
|
-
TODO: find a better name. Gets the request uri, injects extra parameters in
|
424
|
-
the query string and returns a new uri. The request object is not modified.
|
425
|
-
There is always a qs string so an extra test is skipped.
|
426
|
-
</p>
|
427
|
-
</div>
|
428
|
-
<div class="sourcecode">
|
429
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000111_source')" id="l_M000111_source">+</a> ]</p>
|
430
|
-
<div id="M000111_source" class="dyn-source">
|
431
|
-
<pre>
|
432
|
-
<span class="ruby-comment cmt"># File lib/lore/facets/uri.rb, line 208</span>
|
433
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_request_uri</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">parameters</span>)
|
434
|
-
<span class="ruby-identifier">hash</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">dup</span>()
|
435
|
-
<span class="ruby-identifier">hash</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">parameters</span>)
|
436
|
-
|
437
|
-
<span class="ruby-comment cmt"># use this in hash_to_querystring.</span>
|
438
|
-
<span class="ruby-identifier">query_string</span> = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
439
|
-
<span class="ruby-node">"#{k}=#{v}"</span>
|
440
|
-
}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">";"</span>)
|
441
|
-
|
442
|
-
<span class="ruby-comment cmt">#return "#{request.translated_uri}?#{query_string}"</span>
|
443
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-node">"#{request.path}?#{query_string}"</span>
|
444
|
-
<span class="ruby-keyword kw">end</span>
|
445
|
-
</pre>
|
446
|
-
</div>
|
447
|
-
</div>
|
448
|
-
</div>
|
449
|
-
</div>
|
450
|
-
|
451
|
-
</div>
|
452
|
-
|
453
|
-
</body>
|
454
|
-
</html>
|