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,151 @@
|
|
|
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::Controllers::Base</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::Controllers::Base</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/controllers/base_rb.html">
|
|
59
|
+
lib/controllers/base.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
|
+
|
|
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="#M000092">attributes</a>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<!-- if includes -->
|
|
97
|
+
<div id="includes">
|
|
98
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
99
|
+
|
|
100
|
+
<div id="includes-list">
|
|
101
|
+
<span class="include-name"><a href="Mixin.html">Waves::Controllers::Mixin</a></span>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<div id="section">
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
<!-- if method_list -->
|
|
115
|
+
<div id="methods">
|
|
116
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
117
|
+
|
|
118
|
+
<div id="method-M000092" class="method-detail">
|
|
119
|
+
<a name="M000092"></a>
|
|
120
|
+
|
|
121
|
+
<div class="method-heading">
|
|
122
|
+
<a href="#M000092" class="method-signature">
|
|
123
|
+
<span class="method-name">attributes</span><span class="method-args">()</span>
|
|
124
|
+
</a>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div class="method-description">
|
|
128
|
+
<p><a class="source-toggle" href="#"
|
|
129
|
+
onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
|
|
130
|
+
<div class="method-source-code" id="M000092-source">
|
|
131
|
+
<pre>
|
|
132
|
+
<span class="ruby-comment cmt"># File lib/controllers/base.rb, line 7</span>
|
|
133
|
+
7: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributes</span>; <span class="ruby-identifier">params</span>[<span class="ruby-identifier">model_name</span>.<span class="ruby-identifier">singular</span>.<span class="ruby-identifier">intern</span>]; <span class="ruby-keyword kw">end</span>
|
|
134
|
+
</pre>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
<div id="validator-badges">
|
|
147
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
</body>
|
|
151
|
+
</html>
|
|
@@ -0,0 +1,312 @@
|
|
|
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::Controllers::Mixin</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::Controllers::Mixin</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/controllers/mixin_rb.html">
|
|
59
|
+
lib/controllers/mixin.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
|
+
<a href="Mixin.html">Waves::Controllers::Mixin</a> adapts a controller
|
|
78
|
+
class for use in mappings and provides utility methods. It is <a
|
|
79
|
+
href="Mixin.html#M000087">included</a> in controllers autocreated by the
|
|
80
|
+
Default foundation, so you do not need to include it in subclasses of the
|
|
81
|
+
same.
|
|
82
|
+
</p>
|
|
83
|
+
<p>
|
|
84
|
+
The utility methods include simple reflection to allow controller methods
|
|
85
|
+
to be written generically (i.e., without reference to a specific <a
|
|
86
|
+
href="Mixin.html#M000091">model</a>) and parameter destructuring for the
|
|
87
|
+
request parameters.
|
|
88
|
+
</p>
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div id="method-list">
|
|
96
|
+
<h3 class="section-bar">Methods</h3>
|
|
97
|
+
|
|
98
|
+
<div class="name-list">
|
|
99
|
+
<a href="#M000087">included</a>
|
|
100
|
+
<a href="#M000091">model</a>
|
|
101
|
+
<a href="#M000090">model_name</a>
|
|
102
|
+
<a href="#M000088">new</a>
|
|
103
|
+
<a href="#M000089">params</a>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
<!-- if includes -->
|
|
111
|
+
<div id="includes">
|
|
112
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
113
|
+
|
|
114
|
+
<div id="includes-list">
|
|
115
|
+
<span class="include-name"><a href="../ResponseMixin.html">Waves::ResponseMixin</a></span>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div id="section">
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
<div id="attribute-list">
|
|
126
|
+
<h3 class="section-bar">Attributes</h3>
|
|
127
|
+
|
|
128
|
+
<div class="name-list">
|
|
129
|
+
<table>
|
|
130
|
+
<tr class="top-aligned-row context-row">
|
|
131
|
+
<td class="context-item-name">request</td>
|
|
132
|
+
<td class="context-item-value"> [R] </td>
|
|
133
|
+
<td class="context-item-desc"></td>
|
|
134
|
+
</tr>
|
|
135
|
+
</table>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<!-- if method_list -->
|
|
142
|
+
<div id="methods">
|
|
143
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
144
|
+
|
|
145
|
+
<div id="method-M000087" class="method-detail">
|
|
146
|
+
<a name="M000087"></a>
|
|
147
|
+
|
|
148
|
+
<div class="method-heading">
|
|
149
|
+
<a href="#M000087" class="method-signature">
|
|
150
|
+
<span class="method-name">included</span><span class="method-args">( mod )</span>
|
|
151
|
+
</a>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<div class="method-description">
|
|
155
|
+
<p>
|
|
156
|
+
When this mixin is <a href="Mixin.html#M000087">included</a> it adds a
|
|
157
|
+
class method named <tt>process</tt>, which accepts a request object and a
|
|
158
|
+
block. The <tt>process</tt> method initializes the controller with the
|
|
159
|
+
request, then evaluates the block using <tt>instance_eval</tt>. This allows
|
|
160
|
+
the controller to be used from within a mapping lambda (i.e. a <a
|
|
161
|
+
href="../ResponseProxy.html">ResponseProxy</a>).
|
|
162
|
+
</p>
|
|
163
|
+
<p><a class="source-toggle" href="#"
|
|
164
|
+
onclick="toggleCode('M000087-source');return false;">[Source]</a></p>
|
|
165
|
+
<div class="method-source-code" id="M000087-source">
|
|
166
|
+
<pre>
|
|
167
|
+
<span class="ruby-comment cmt"># File lib/controllers/mixin.rb, line 99</span>
|
|
168
|
+
99: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">included</span>( <span class="ruby-identifier">mod</span> )
|
|
169
|
+
100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">process</span>( <span class="ruby-identifier">request</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
|
170
|
+
101: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">request</span> ).<span class="ruby-identifier">instance_eval</span>( <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
|
171
|
+
102: <span class="ruby-keyword kw">end</span>
|
|
172
|
+
103: <span class="ruby-keyword kw">end</span>
|
|
173
|
+
</pre>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div id="method-M000088" class="method-detail">
|
|
179
|
+
<a name="M000088"></a>
|
|
180
|
+
|
|
181
|
+
<div class="method-heading">
|
|
182
|
+
<a href="#M000088" class="method-signature">
|
|
183
|
+
<span class="method-name">new</span><span class="method-args">( request )</span>
|
|
184
|
+
</a>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
187
|
+
<div class="method-description">
|
|
188
|
+
<p><a class="source-toggle" href="#"
|
|
189
|
+
onclick="toggleCode('M000088-source');return false;">[Source]</a></p>
|
|
190
|
+
<div class="method-source-code" id="M000088-source">
|
|
191
|
+
<pre>
|
|
192
|
+
<span class="ruby-comment cmt"># File lib/controllers/mixin.rb, line 105</span>
|
|
193
|
+
105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span><span class="ruby-identifier">initialize</span>( <span class="ruby-identifier">request</span> )
|
|
194
|
+
106: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
|
|
195
|
+
107: <span class="ruby-keyword kw">end</span>
|
|
196
|
+
</pre>
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
|
|
201
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
202
|
+
|
|
203
|
+
<div id="method-M000091" class="method-detail">
|
|
204
|
+
<a name="M000091"></a>
|
|
205
|
+
|
|
206
|
+
<div class="method-heading">
|
|
207
|
+
<a href="#M000091" class="method-signature">
|
|
208
|
+
<span class="method-name">model</span><span class="method-args">()</span>
|
|
209
|
+
</a>
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
<div class="method-description">
|
|
213
|
+
<p>
|
|
214
|
+
Returns the <a href="Mixin.html#M000091">model</a> corresponding to this
|
|
215
|
+
controller by naively assuming that <tt><a
|
|
216
|
+
href="Mixin.html#M000090">model_name</a></tt> must be correct. This allows
|
|
217
|
+
you to write generic controller methods such as:
|
|
218
|
+
</p>
|
|
219
|
+
<pre>
|
|
220
|
+
model.find( name )
|
|
221
|
+
</pre>
|
|
222
|
+
<p>
|
|
223
|
+
to find an instance of a given <a href="Mixin.html#M000091">model</a>.
|
|
224
|
+
Again, the plurality of the controller and <a
|
|
225
|
+
href="Mixin.html#M000091">model</a> must be the same for this to work.
|
|
226
|
+
</p>
|
|
227
|
+
<p><a class="source-toggle" href="#"
|
|
228
|
+
onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
|
|
229
|
+
<div class="method-source-code" id="M000091-source">
|
|
230
|
+
<pre>
|
|
231
|
+
<span class="ruby-comment cmt"># File lib/controllers/mixin.rb, line 130</span>
|
|
232
|
+
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">model</span>; <span class="ruby-constant">Waves</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">models</span>[ <span class="ruby-identifier">model_name</span>.<span class="ruby-identifier">intern</span> ]; <span class="ruby-keyword kw">end</span>
|
|
233
|
+
</pre>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<div id="method-M000090" class="method-detail">
|
|
239
|
+
<a name="M000090"></a>
|
|
240
|
+
|
|
241
|
+
<div class="method-heading">
|
|
242
|
+
<a href="#M000090" class="method-signature">
|
|
243
|
+
<span class="method-name">model_name</span><span class="method-args">()</span>
|
|
244
|
+
</a>
|
|
245
|
+
</div>
|
|
246
|
+
|
|
247
|
+
<div class="method-description">
|
|
248
|
+
<p>
|
|
249
|
+
Returns the name of the <a href="Mixin.html#M000091">model</a>
|
|
250
|
+
corresponding to this controller by taking the basename of the module and
|
|
251
|
+
converting it to snake case. If the <a href="Mixin.html#M000091">model</a>
|
|
252
|
+
plurality is different than the controller, this will not, in fact, be the
|
|
253
|
+
<a href="Mixin.html#M000091">model</a> name.
|
|
254
|
+
</p>
|
|
255
|
+
<p><a class="source-toggle" href="#"
|
|
256
|
+
onclick="toggleCode('M000090-source');return false;">[Source]</a></p>
|
|
257
|
+
<div class="method-source-code" id="M000090-source">
|
|
258
|
+
<pre>
|
|
259
|
+
<span class="ruby-comment cmt"># File lib/controllers/mixin.rb, line 121</span>
|
|
260
|
+
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">model_name</span>; <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">basename</span>.<span class="ruby-identifier">snake_case</span>; <span class="ruby-keyword kw">end</span>
|
|
261
|
+
</pre>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<div id="method-M000089" class="method-detail">
|
|
267
|
+
<a name="M000089"></a>
|
|
268
|
+
|
|
269
|
+
<div class="method-heading">
|
|
270
|
+
<a href="#M000089" class="method-signature">
|
|
271
|
+
<span class="method-name">params</span><span class="method-args">()</span>
|
|
272
|
+
</a>
|
|
273
|
+
</div>
|
|
274
|
+
|
|
275
|
+
<div class="method-description">
|
|
276
|
+
<p>
|
|
277
|
+
The <a href="Mixin.html#M000089">params</a> variable is taken from the
|
|
278
|
+
request object and "destructured", so that a parameter named
|
|
279
|
+
‘blog.title’ becomes:
|
|
280
|
+
</p>
|
|
281
|
+
<pre>
|
|
282
|
+
params['blog']['title']
|
|
283
|
+
</pre>
|
|
284
|
+
<p>
|
|
285
|
+
If you want to access the original parameters object, you can still do so
|
|
286
|
+
using +request.params+ instead of simply <tt><a
|
|
287
|
+
href="Mixin.html#M000089">params</a></tt>.
|
|
288
|
+
</p>
|
|
289
|
+
<p><a class="source-toggle" href="#"
|
|
290
|
+
onclick="toggleCode('M000089-source');return false;">[Source]</a></p>
|
|
291
|
+
<div class="method-source-code" id="M000089-source">
|
|
292
|
+
<pre>
|
|
293
|
+
<span class="ruby-comment cmt"># File lib/controllers/mixin.rb, line 116</span>
|
|
294
|
+
116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">params</span>; <span class="ruby-ivar">@params</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">destructure</span>(<span class="ruby-identifier">request</span>.<span class="ruby-identifier">params</span>); <span class="ruby-keyword kw">end</span>
|
|
295
|
+
</pre>
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
</div>
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
</div>
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
<div id="validator-badges">
|
|
308
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
</body>
|
|
312
|
+
</html>
|