waves 0.7.6 → 0.7.7
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/app/Rakefile +64 -6
- data/app/configurations/development.rb.erb +2 -1
- data/app/configurations/mapping.rb.erb +1 -0
- data/app/configurations/production.rb.erb +1 -0
- data/app/lib/application.rb.erb +2 -2
- data/bin/waves +36 -1
- data/doc/HISTORY +44 -0
- data/doc/LICENSE +22 -0
- data/doc/rdoc/classes/Erubis/Context.html +218 -0
- data/doc/rdoc/classes/Kernel.html +145 -0
- data/doc/rdoc/classes/Symbol.html +154 -0
- data/doc/rdoc/classes/Tempfile.html +161 -0
- data/doc/rdoc/classes/Waves.html +455 -0
- data/doc/rdoc/classes/Waves/Application.html +371 -0
- data/doc/rdoc/classes/Waves/Blackboard.html +296 -0
- data/doc/rdoc/classes/Waves/Configurations.html +283 -0
- data/doc/rdoc/classes/Waves/Configurations/Base.html +209 -0
- data/doc/rdoc/classes/Waves/Configurations/Default.html +237 -0
- data/doc/rdoc/classes/Waves/Console.html +187 -0
- data/doc/rdoc/classes/Waves/Controllers.html +203 -0
- data/doc/rdoc/classes/Waves/Controllers/Base.html +151 -0
- data/doc/rdoc/classes/Waves/Controllers/Mixin.html +312 -0
- data/doc/rdoc/classes/Waves/Dispatchers.html +118 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Base.html +198 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Default.html +224 -0
- data/doc/rdoc/classes/Waves/Dispatchers/NotFoundError.html +122 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Redirect.html +173 -0
- data/doc/rdoc/classes/Waves/Foundations.html +131 -0
- data/doc/rdoc/classes/Waves/Foundations/Default.html +179 -0
- data/doc/rdoc/classes/Waves/Foundations/Simple.html +167 -0
- data/doc/rdoc/classes/Waves/Helpers.html +176 -0
- data/doc/rdoc/classes/Waves/Helpers/AssetHelper.html +212 -0
- data/doc/rdoc/classes/Waves/Helpers/Common.html +213 -0
- data/doc/rdoc/classes/Waves/Helpers/Default.html +135 -0
- data/doc/rdoc/classes/Waves/Helpers/Form.html +201 -0
- data/doc/rdoc/classes/Waves/Helpers/Formatting.html +232 -0
- data/doc/rdoc/classes/Waves/Helpers/Model.html +194 -0
- data/doc/rdoc/classes/Waves/Helpers/NumberHelper.html +165 -0
- data/doc/rdoc/classes/Waves/Helpers/TagHelper.html +226 -0
- data/doc/rdoc/classes/Waves/Helpers/UrlHelper.html +242 -0
- data/doc/rdoc/classes/Waves/Helpers/View.html +163 -0
- data/doc/rdoc/classes/Waves/Inflect/InflectorMethods.html +475 -0
- data/doc/rdoc/classes/Waves/Layers.html +175 -0
- data/doc/rdoc/classes/Waves/Layers/DefaultErrors.html +161 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect.html +119 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English.html +168 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English/Rules.html +112 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English/StringMethods.html +194 -0
- data/doc/rdoc/classes/Waves/Layers/MVC.html +204 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord.html +239 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/ControllerMethods.html +246 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/Symbol.html +132 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/DataMapper.html +166 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Filebase.html +157 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Sequel.html +232 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Sequel/ControllerMethods.html +246 -0
- data/doc/rdoc/classes/Waves/Layers/Simple.html +169 -0
- data/doc/rdoc/classes/Waves/Layers/SimpleErrors.html +159 -0
- data/doc/rdoc/classes/Waves/Logger.html +288 -0
- data/doc/rdoc/classes/Waves/Mapping.html +760 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls.html +129 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/GetRules.html +174 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/RestRules.html +180 -0
- data/doc/rdoc/classes/Waves/MimeTypes.html +200 -0
- data/doc/rdoc/classes/Waves/Renderers/Erubis.html +162 -0
- data/doc/rdoc/classes/Waves/Renderers/Haml.html +160 -0
- data/doc/rdoc/classes/Waves/Renderers/Markaby.html +167 -0
- data/doc/rdoc/classes/Waves/Renderers/Mixin.html +191 -0
- data/doc/rdoc/classes/Waves/Renderers/Scope.html +181 -0
- data/doc/rdoc/classes/Waves/Request.html +441 -0
- data/doc/rdoc/classes/Waves/Request/ParseError.html +111 -0
- data/doc/rdoc/classes/Waves/Response.html +283 -0
- data/doc/rdoc/classes/Waves/ResponseMixin.html +460 -0
- data/doc/rdoc/classes/Waves/ResponseProxy.html +269 -0
- data/doc/rdoc/classes/Waves/Server.html +488 -0
- data/doc/rdoc/classes/Waves/Session.html +330 -0
- data/doc/rdoc/classes/Waves/Utilities/Hash.html +185 -0
- data/doc/rdoc/classes/Waves/Utilities/Integer.html +424 -0
- data/doc/rdoc/classes/Waves/Utilities/Module.html +174 -0
- data/doc/rdoc/classes/Waves/Utilities/Object.html +155 -0
- data/doc/rdoc/classes/Waves/Utilities/Proc.html +145 -0
- data/doc/rdoc/classes/Waves/Utilities/String.html +290 -0
- data/doc/rdoc/classes/Waves/Views.html +278 -0
- data/doc/rdoc/classes/Waves/Views/Base.html +118 -0
- data/doc/rdoc/classes/Waves/Views/Mixin.html +279 -0
- data/doc/rdoc/classes/Waves/Views/NoTemplateError.html +111 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/README_rdoc.html +415 -0
- data/doc/rdoc/files/bin/waves.html +135 -0
- data/doc/rdoc/files/doc/HISTORY.html +265 -0
- data/doc/rdoc/files/lib/commands/waves-console_rb.html +110 -0
- data/doc/rdoc/files/lib/commands/waves-server_rb.html +108 -0
- data/doc/rdoc/files/lib/controllers/base_rb.html +101 -0
- data/doc/rdoc/files/lib/controllers/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/dispatchers/base_rb.html +101 -0
- data/doc/rdoc/files/lib/dispatchers/default_rb.html +101 -0
- data/doc/rdoc/files/lib/foundations/default_rb.html +101 -0
- data/doc/rdoc/files/lib/foundations/simple_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/asset_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/common_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/default_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/form_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/formatting_rb.html +108 -0
- data/doc/rdoc/files/lib/helpers/model_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/number_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/tag_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/url_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/view_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/default_errors_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english/rules_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english/string_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english_rb.html +109 -0
- data/doc/rdoc/files/lib/layers/mvc_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record/tasks/schema_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/orm/data_mapper_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/orm/filebase_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/migration_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel/tasks/schema_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/simple_errors_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/simple_rb.html +101 -0
- data/doc/rdoc/files/lib/mapping/mapping_rb.html +101 -0
- data/doc/rdoc/files/lib/mapping/pretty_urls_rb.html +101 -0
- data/doc/rdoc/files/lib/renderers/erubis_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/haml_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/markaby_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/application_rb.html +107 -0
- data/doc/rdoc/files/lib/runtime/blackboard_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/configuration_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/console_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/debugger_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/logger_rb.html +108 -0
- data/doc/rdoc/files/lib/runtime/mime_types_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/request_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_proxy_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/server_rb.html +108 -0
- data/doc/rdoc/files/lib/runtime/session_rb.html +101 -0
- data/doc/rdoc/files/lib/tasks/cluster_rb.html +101 -0
- data/doc/rdoc/files/lib/tasks/gem_rb.html +108 -0
- data/doc/rdoc/files/lib/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/hash_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/inflect_rb.html +111 -0
- data/doc/rdoc/files/lib/utilities/integer_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/module_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/object_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/proc_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/string_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/symbol_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/tempfile_rb.html +115 -0
- data/doc/rdoc/files/lib/views/base_rb.html +101 -0
- data/doc/rdoc/files/lib/views/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/waves_rb.html +195 -0
- data/doc/rdoc/fr_class_index.html +104 -0
- data/doc/rdoc/fr_file_index.html +97 -0
- data/doc/rdoc/fr_method_index.html +233 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +208 -0
- data/lib/foundations/default.rb +1 -0
- data/lib/layers/default_errors.rb +10 -13
- data/lib/layers/inflect/english.rb +24 -0
- data/lib/layers/inflect/english/rules.rb +88 -0
- data/lib/layers/inflect/english/string.rb +24 -0
- data/lib/layers/mvc.rb +31 -35
- data/lib/layers/orm/active_record.rb +83 -32
- data/lib/layers/orm/active_record/tasks/generate.rb +28 -0
- data/lib/layers/orm/active_record/tasks/schema.rb +7 -15
- data/lib/layers/orm/data_mapper.rb +12 -16
- data/lib/layers/orm/migration.rb +20 -11
- data/lib/layers/orm/sequel.rb +53 -49
- data/lib/layers/orm/sequel/tasks/generate.rb +28 -0
- data/lib/layers/orm/sequel/tasks/schema.rb +6 -14
- data/lib/layers/simple.rb +6 -13
- data/lib/layers/simple_errors.rb +5 -8
- data/lib/renderers/haml.rb +45 -0
- data/lib/runtime/application.rb +0 -2
- data/lib/tasks/cluster.rb +1 -1
- data/lib/utilities/inflect.rb +86 -168
- data/lib/utilities/integer.rb +23 -16
- data/lib/utilities/module.rb +19 -15
- data/lib/utilities/object.rb +22 -14
- data/lib/utilities/proc.rb +13 -7
- data/lib/utilities/string.rb +0 -12
- data/lib/utilities/symbol.rb +4 -1
- data/lib/utilities/tempfile.rb +9 -0
- data/lib/waves.rb +3 -1
- data/samples/blog/Rakefile +14 -0
- data/samples/blog/bin/waves-console +3 -0
- data/samples/blog/bin/waves-server +3 -0
- data/samples/blog/blog.db +0 -0
- data/samples/blog/configurations/development.rb +31 -0
- data/samples/blog/configurations/mapping.rb +23 -0
- data/samples/blog/configurations/production.rb +30 -0
- data/samples/blog/doc/EMTPY +0 -0
- data/samples/blog/lib/application.rb +5 -0
- data/samples/blog/models/comment.rb +14 -0
- data/samples/blog/models/entry.rb +14 -0
- data/samples/blog/public/css/site.css +2 -0
- data/samples/blog/public/javascript/site.js +13 -0
- data/samples/blog/schema/migrations/001_initial_schema.rb +17 -0
- data/samples/blog/schema/migrations/002_add_comments.rb +18 -0
- data/samples/blog/schema/migrations/templates/empty.rb.erb +9 -0
- data/samples/blog/startup.rb +6 -0
- data/samples/blog/templates/comment/add.mab +10 -0
- data/samples/blog/templates/comment/list.mab +6 -0
- data/samples/blog/templates/entry/editor.mab +13 -0
- data/samples/blog/templates/entry/list.mab +11 -0
- data/samples/blog/templates/entry/show.mab +9 -0
- data/samples/blog/templates/entry/summary.mab +5 -0
- data/samples/blog/templates/errors/not_found_404.mab +2 -0
- data/samples/blog/templates/errors/server_error_500.mab +2 -0
- data/samples/blog/templates/layouts/default.mab +17 -0
- data/samples/jub/Rakefile +72 -0
- data/samples/jub/bin/waves-console +4 -0
- data/samples/jub/bin/waves-server +4 -0
- data/samples/jub/configurations/development.rb +31 -0
- data/samples/jub/configurations/mapping.rb +18 -0
- data/samples/jub/configurations/production.rb +31 -0
- data/samples/jub/lib/application.rb +5 -0
- data/samples/jub/startup.rb +6 -0
- data/samples/jub/templates/errors/not_found_404.mab +2 -0
- data/samples/jub/templates/errors/server_error_500.mab +2 -0
- data/samples/jub/templates/layouts/default.mab +14 -0
- data/verify/app_generation/helpers.rb +24 -0
- data/verify/app_generation/startup.rb +39 -0
- data/verify/blackboard/blackboard_verify.rb +92 -0
- data/verify/blackboard/helpers.rb +5 -0
- data/verify/configurations/attributes.rb +37 -0
- data/verify/configurations/helpers.rb +1 -0
- data/verify/configurations/rack_integration.rb +29 -0
- data/verify/controllers/base.rb +37 -0
- data/verify/controllers/helpers.rb +13 -0
- data/verify/controllers/interface.rb +51 -0
- data/verify/core/helpers.rb +3 -0
- data/verify/core/utilities.rb +177 -0
- data/verify/foundations/default.rb +86 -0
- data/verify/foundations/default_application/Rakefile +14 -0
- data/verify/foundations/default_application/bin/waves-console +3 -0
- data/verify/foundations/default_application/bin/waves-server +3 -0
- data/verify/foundations/default_application/configurations/development.rb +26 -0
- data/verify/foundations/default_application/configurations/mapping.rb +14 -0
- data/verify/foundations/default_application/configurations/production.rb +30 -0
- data/verify/foundations/default_application/controllers/default.rb +15 -0
- data/verify/foundations/default_application/controllers/loaded.rb +15 -0
- data/verify/foundations/default_application/defaultapplication.db +0 -0
- data/verify/foundations/default_application/helpers/loaded.rb +10 -0
- data/verify/foundations/default_application/lib/application.rb +5 -0
- data/verify/foundations/default_application/models/default.rb +13 -0
- data/verify/foundations/default_application/models/loaded.rb +13 -0
- data/verify/foundations/default_application/schema/migrations/templates/empty.rb.erb +9 -0
- data/verify/foundations/default_application/startup.rb +7 -0
- data/verify/foundations/default_application/templates/errors/not_found_404.mab +2 -0
- data/verify/foundations/default_application/templates/errors/server_error_500.mab +2 -0
- data/verify/foundations/default_application/templates/layouts/default.mab +14 -0
- data/verify/foundations/default_application/views/default.rb +7 -0
- data/verify/foundations/default_application/views/loaded.rb +15 -0
- data/verify/foundations/helpers.rb +1 -0
- data/verify/foundations/simple.rb +25 -0
- data/verify/helpers.rb +76 -0
- data/verify/layers/data_mapper/association_verify.rb +87 -0
- data/verify/layers/default_errors.rb +29 -0
- data/verify/layers/helpers.rb +1 -0
- data/verify/layers/migration.rb +33 -0
- data/verify/layers/sequel/model.rb +41 -0
- data/verify/layers/sequeltest.db +0 -0
- data/verify/mapping/always.rb +19 -0
- data/verify/mapping/filters.rb +65 -0
- data/verify/mapping/handle.rb +24 -0
- data/verify/mapping/helpers.rb +7 -0
- data/verify/mapping/matches.rb +27 -0
- data/verify/mapping/named.rb +29 -0
- data/verify/mapping/options.rb +17 -0
- data/verify/mapping/path.rb +40 -0
- data/verify/mapping/response_proxy.rb +50 -0
- data/verify/mapping/threaded.rb +25 -0
- data/verify/requests/helpers.rb +16 -0
- data/verify/requests/request.rb +73 -0
- data/verify/requests/response.rb +59 -0
- data/verify/requests/session.rb +54 -0
- data/verify/views/helpers.rb +1 -0
- data/verify/views/rendering.rb +34 -0
- data/verify/views/templates/foo.erb +0 -0
- data/verify/views/templates/moo.erb +0 -0
- data/verify/views/templates/moo.mab +0 -0
- metadata +597 -224
- data/lib/utilities/kernel.rb +0 -34
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Waves::Session</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Waves::Session</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/runtime/session_rb.html">
|
|
59
|
+
lib/runtime/session.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
Object
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</div>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div id="contextContent">
|
|
80
|
+
|
|
81
|
+
<div id="description">
|
|
82
|
+
<p>
|
|
83
|
+
Encapsulates the session associated with a given request. A session has an
|
|
84
|
+
expiration and path, which must be provided in a Waves::Configuration.
|
|
85
|
+
Sensible defaults are defined in <a
|
|
86
|
+
href="Configurations/Default.html">Waves::Configurations::Default</a>
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
<div id="method-list">
|
|
95
|
+
<h3 class="section-bar">Methods</h3>
|
|
96
|
+
|
|
97
|
+
<div class="name-list">
|
|
98
|
+
<a href="#M000166">[]</a>
|
|
99
|
+
<a href="#M000167">[]=</a>
|
|
100
|
+
<a href="#M000164">base_path</a>
|
|
101
|
+
<a href="#M000161">generate_session_id</a>
|
|
102
|
+
<a href="#M000162">new</a>
|
|
103
|
+
<a href="#M000165">save</a>
|
|
104
|
+
<a href="#M000163">to_hash</a>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
<!-- if includes -->
|
|
112
|
+
|
|
113
|
+
<div id="section">
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
<!-- if method_list -->
|
|
123
|
+
<div id="methods">
|
|
124
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
125
|
+
|
|
126
|
+
<div id="method-M000164" class="method-detail">
|
|
127
|
+
<a name="M000164"></a>
|
|
128
|
+
|
|
129
|
+
<div class="method-heading">
|
|
130
|
+
<a href="#M000164" class="method-signature">
|
|
131
|
+
<span class="method-name">base_path</span><span class="method-args">()</span>
|
|
132
|
+
</a>
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
<div class="method-description">
|
|
136
|
+
<p><a class="source-toggle" href="#"
|
|
137
|
+
onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
|
|
138
|
+
<div class="method-source-code" id="M000164-source">
|
|
139
|
+
<pre>
|
|
140
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 29</span>
|
|
141
|
+
29: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">base_path</span>
|
|
142
|
+
30: <span class="ruby-constant">Waves</span><span class="ruby-operator">::</span><span class="ruby-constant">Application</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">session</span>[<span class="ruby-identifier">:path</span>]
|
|
143
|
+
31: <span class="ruby-keyword kw">end</span>
|
|
144
|
+
</pre>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<div id="method-M000161" class="method-detail">
|
|
150
|
+
<a name="M000161"></a>
|
|
151
|
+
|
|
152
|
+
<div class="method-heading">
|
|
153
|
+
<a href="#M000161" class="method-signature">
|
|
154
|
+
<span class="method-name">generate_session_id</span><span class="method-args">()</span>
|
|
155
|
+
</a>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<div class="method-description">
|
|
159
|
+
<p>
|
|
160
|
+
Concoct a (probably) unique session id
|
|
161
|
+
</p>
|
|
162
|
+
<p><a class="source-toggle" href="#"
|
|
163
|
+
onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
|
|
164
|
+
<div class="method-source-code" id="M000161-source">
|
|
165
|
+
<pre>
|
|
166
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 9</span>
|
|
167
|
+
9: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">generate_session_id</span>
|
|
168
|
+
10: <span class="ruby-comment cmt"># from Camping ...</span>
|
|
169
|
+
11: <span class="ruby-identifier">chars</span> = [<span class="ruby-operator">*</span><span class="ruby-value str">'A'</span><span class="ruby-operator">..</span><span class="ruby-value str">'Z'</span>] <span class="ruby-operator">+</span> [<span class="ruby-operator">*</span><span class="ruby-value str">'0'</span><span class="ruby-operator">..</span><span class="ruby-value str">'9'</span>] <span class="ruby-operator">+</span> [<span class="ruby-operator">*</span><span class="ruby-value str">'a'</span><span class="ruby-operator">..</span><span class="ruby-value str">'z'</span>]
|
|
170
|
+
12: (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">48</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-value str">''</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span><span class="ruby-operator">+=</span><span class="ruby-identifier">chars</span>[ <span class="ruby-identifier">rand</span>(<span class="ruby-identifier">chars</span>.<span class="ruby-identifier">length</span>) ] }
|
|
171
|
+
13: <span class="ruby-keyword kw">end</span>
|
|
172
|
+
</pre>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<div id="method-M000162" class="method-detail">
|
|
178
|
+
<a name="M000162"></a>
|
|
179
|
+
|
|
180
|
+
<div class="method-heading">
|
|
181
|
+
<a href="#M000162" class="method-signature">
|
|
182
|
+
<span class="method-name">new</span><span class="method-args">( request )</span>
|
|
183
|
+
</a>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div class="method-description">
|
|
187
|
+
<p>
|
|
188
|
+
Create a <a href="Session.html#M000162">new</a> session object using the
|
|
189
|
+
given request. This is not necessarily the same as constructing a <a
|
|
190
|
+
href="Session.html#M000162">new</a> session. The session_id cookie for the
|
|
191
|
+
request domain is used to store a session id. The actual session data will
|
|
192
|
+
be stored in a directory specified by the application‘s configuration
|
|
193
|
+
file.
|
|
194
|
+
</p>
|
|
195
|
+
<p><a class="source-toggle" href="#"
|
|
196
|
+
onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
|
|
197
|
+
<div class="method-source-code" id="M000162-source">
|
|
198
|
+
<pre>
|
|
199
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 19</span>
|
|
200
|
+
19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>( <span class="ruby-identifier">request</span> )
|
|
201
|
+
20: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
|
|
202
|
+
21: <span class="ruby-ivar">@data</span> <span class="ruby-operator">||=</span> ( <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>( <span class="ruby-identifier">session_path</span> ) <span class="ruby-operator">?</span> <span class="ruby-identifier">load_session</span> <span class="ruby-operator">:</span> {} )
|
|
203
|
+
22: <span class="ruby-keyword kw">end</span>
|
|
204
|
+
</pre>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
210
|
+
|
|
211
|
+
<div id="method-M000166" class="method-detail">
|
|
212
|
+
<a name="M000166"></a>
|
|
213
|
+
|
|
214
|
+
<div class="method-heading">
|
|
215
|
+
<a href="#M000166" class="method-signature">
|
|
216
|
+
<span class="method-name">[]</span><span class="method-args">(key)</span>
|
|
217
|
+
</a>
|
|
218
|
+
</div>
|
|
219
|
+
|
|
220
|
+
<div class="method-description">
|
|
221
|
+
<p>
|
|
222
|
+
Access a given data element of the session using the given key.
|
|
223
|
+
</p>
|
|
224
|
+
<p><a class="source-toggle" href="#"
|
|
225
|
+
onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
|
|
226
|
+
<div class="method-source-code" id="M000166-source">
|
|
227
|
+
<pre>
|
|
228
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 45</span>
|
|
229
|
+
45: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>) ; <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">key</span>] ; <span class="ruby-keyword kw">end</span>
|
|
230
|
+
</pre>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
<div id="method-M000167" class="method-detail">
|
|
236
|
+
<a name="M000167"></a>
|
|
237
|
+
|
|
238
|
+
<div class="method-heading">
|
|
239
|
+
<a href="#M000167" class="method-signature">
|
|
240
|
+
<span class="method-name">[]=</span><span class="method-args">(key,val)</span>
|
|
241
|
+
</a>
|
|
242
|
+
</div>
|
|
243
|
+
|
|
244
|
+
<div class="method-description">
|
|
245
|
+
<p>
|
|
246
|
+
Set the given data element of the session using the given key and value.
|
|
247
|
+
</p>
|
|
248
|
+
<p><a class="source-toggle" href="#"
|
|
249
|
+
onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
|
|
250
|
+
<div class="method-source-code" id="M000167-source">
|
|
251
|
+
<pre>
|
|
252
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 47</span>
|
|
253
|
+
47: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">key</span>,<span class="ruby-identifier">val</span>) ; <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">val</span> ; <span class="ruby-keyword kw">end</span>
|
|
254
|
+
</pre>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
|
|
259
|
+
<div id="method-M000165" class="method-detail">
|
|
260
|
+
<a name="M000165"></a>
|
|
261
|
+
|
|
262
|
+
<div class="method-heading">
|
|
263
|
+
<a href="#M000165" class="method-signature">
|
|
264
|
+
<span class="method-name">save</span><span class="method-args">()</span>
|
|
265
|
+
</a>
|
|
266
|
+
</div>
|
|
267
|
+
|
|
268
|
+
<div class="method-description">
|
|
269
|
+
<p>
|
|
270
|
+
Save the session data. You shouldn‘t typically have to call this
|
|
271
|
+
directly, since it is called by <a
|
|
272
|
+
href="Response.html#M000171">Waves::Response#finish</a>.
|
|
273
|
+
</p>
|
|
274
|
+
<p><a class="source-toggle" href="#"
|
|
275
|
+
onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
|
|
276
|
+
<div class="method-source-code" id="M000165-source">
|
|
277
|
+
<pre>
|
|
278
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 35</span>
|
|
279
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save</span>
|
|
280
|
+
36: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
281
|
+
37: <span class="ruby-constant">File</span>.<span class="ruby-identifier">write</span>( <span class="ruby-identifier">session_path</span>, <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">to_yaml</span> )
|
|
282
|
+
38: <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">response</span>.<span class="ruby-identifier">set_cookie</span>( <span class="ruby-value str">'session_id'</span>,
|
|
283
|
+
39: <span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">session_id</span>, <span class="ruby-identifier">:path</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'/'</span>,
|
|
284
|
+
40: <span class="ruby-identifier">:expires</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Waves</span><span class="ruby-operator">::</span><span class="ruby-constant">Server</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">session</span>[<span class="ruby-identifier">:duration</span>] )
|
|
285
|
+
41: <span class="ruby-keyword kw">end</span>
|
|
286
|
+
42: <span class="ruby-keyword kw">end</span>
|
|
287
|
+
</pre>
|
|
288
|
+
</div>
|
|
289
|
+
</div>
|
|
290
|
+
</div>
|
|
291
|
+
|
|
292
|
+
<div id="method-M000163" class="method-detail">
|
|
293
|
+
<a name="M000163"></a>
|
|
294
|
+
|
|
295
|
+
<div class="method-heading">
|
|
296
|
+
<a href="#M000163" class="method-signature">
|
|
297
|
+
<span class="method-name">to_hash</span><span class="method-args">()</span>
|
|
298
|
+
</a>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<div class="method-description">
|
|
302
|
+
<p>
|
|
303
|
+
Return the session data as a hash
|
|
304
|
+
</p>
|
|
305
|
+
<p><a class="source-toggle" href="#"
|
|
306
|
+
onclick="toggleCode('M000163-source');return false;">[Source]</a></p>
|
|
307
|
+
<div class="method-source-code" id="M000163-source">
|
|
308
|
+
<pre>
|
|
309
|
+
<span class="ruby-comment cmt"># File lib/runtime/session.rb, line 25</span>
|
|
310
|
+
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
|
|
311
|
+
26: <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">to_hash</span>
|
|
312
|
+
27: <span class="ruby-keyword kw">end</span>
|
|
313
|
+
</pre>
|
|
314
|
+
</div>
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
</div>
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
<div id="validator-badges">
|
|
326
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
327
|
+
</div>
|
|
328
|
+
|
|
329
|
+
</body>
|
|
330
|
+
</html>
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Module: Waves::Utilities::Hash</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Module</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Waves::Utilities::Hash</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/utilities/hash_rb.html">
|
|
59
|
+
lib/utilities/hash.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
</table>
|
|
66
|
+
</div>
|
|
67
|
+
<!-- banner header -->
|
|
68
|
+
|
|
69
|
+
<div id="bodyContent">
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
<div id="contextContent">
|
|
74
|
+
|
|
75
|
+
<div id="description">
|
|
76
|
+
<p>
|
|
77
|
+
Utility methods mixed into <a href="Hash.html">Hash</a>.
|
|
78
|
+
</p>
|
|
79
|
+
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<div id="method-list">
|
|
86
|
+
<h3 class="section-bar">Methods</h3>
|
|
87
|
+
|
|
88
|
+
<div class="name-list">
|
|
89
|
+
<a href="#M000144">stringify_keys</a>
|
|
90
|
+
<a href="#M000145">symbolize_keys!</a>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
<!-- if includes -->
|
|
98
|
+
|
|
99
|
+
<div id="section">
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
<!-- if method_list -->
|
|
109
|
+
<div id="methods">
|
|
110
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
111
|
+
|
|
112
|
+
<div id="method-M000144" class="method-detail">
|
|
113
|
+
<a name="M000144"></a>
|
|
114
|
+
|
|
115
|
+
<div class="method-heading">
|
|
116
|
+
<a href="#M000144" class="method-signature">
|
|
117
|
+
<span class="method-name">stringify_keys</span><span class="method-args">()</span>
|
|
118
|
+
</a>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<div class="method-description">
|
|
122
|
+
<p>
|
|
123
|
+
Return a copy of the hash where all keys have been converted to strings.
|
|
124
|
+
</p>
|
|
125
|
+
<p><a class="source-toggle" href="#"
|
|
126
|
+
onclick="toggleCode('M000144-source');return false;">[Source]</a></p>
|
|
127
|
+
<div class="method-source-code" id="M000144-source">
|
|
128
|
+
<pre>
|
|
129
|
+
<span class="ruby-comment cmt"># File lib/utilities/hash.rb, line 8</span>
|
|
130
|
+
8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stringify_keys</span>
|
|
131
|
+
9: <span class="ruby-identifier">inject</span>({}) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">options</span>, (<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>)<span class="ruby-operator">|</span>
|
|
132
|
+
10: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] = <span class="ruby-identifier">value</span>
|
|
133
|
+
11: <span class="ruby-identifier">options</span>
|
|
134
|
+
12: <span class="ruby-keyword kw">end</span>
|
|
135
|
+
13: <span class="ruby-keyword kw">end</span>
|
|
136
|
+
</pre>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
|
|
141
|
+
<div id="method-M000145" class="method-detail">
|
|
142
|
+
<a name="M000145"></a>
|
|
143
|
+
|
|
144
|
+
<div class="method-heading">
|
|
145
|
+
<a href="#M000145" class="method-signature">
|
|
146
|
+
<span class="method-name">symbolize_keys!</span><span class="method-args">()</span>
|
|
147
|
+
</a>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="method-description">
|
|
151
|
+
<p>
|
|
152
|
+
Destructively convert all keys to symbols.
|
|
153
|
+
</p>
|
|
154
|
+
<p><a class="source-toggle" href="#"
|
|
155
|
+
onclick="toggleCode('M000145-source');return false;">[Source]</a></p>
|
|
156
|
+
<div class="method-source-code" id="M000145-source">
|
|
157
|
+
<pre>
|
|
158
|
+
<span class="ruby-comment cmt"># File lib/utilities/hash.rb, line 16</span>
|
|
159
|
+
16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">symbolize_keys!</span>
|
|
160
|
+
17: <span class="ruby-identifier">keys</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-operator">|</span>
|
|
161
|
+
18: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">key</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)
|
|
162
|
+
19: <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key</span>]
|
|
163
|
+
20: <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
|
|
164
|
+
21: <span class="ruby-keyword kw">end</span>
|
|
165
|
+
22: <span class="ruby-keyword kw">end</span>
|
|
166
|
+
23: <span class="ruby-keyword kw">self</span>
|
|
167
|
+
24: <span class="ruby-keyword kw">end</span>
|
|
168
|
+
</pre>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
<div id="validator-badges">
|
|
181
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
</body>
|
|
185
|
+
</html>
|