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,278 @@
|
|
|
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::Views</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::Views</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/views/base_rb.html">
|
|
59
|
+
lib/views/base.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
<a href="../../files/lib/views/mixin_rb.html">
|
|
63
|
+
lib/views/mixin.rb
|
|
64
|
+
</a>
|
|
65
|
+
<br />
|
|
66
|
+
</td>
|
|
67
|
+
</tr>
|
|
68
|
+
|
|
69
|
+
</table>
|
|
70
|
+
</div>
|
|
71
|
+
<!-- banner header -->
|
|
72
|
+
|
|
73
|
+
<div id="bodyContent">
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
<div id="contextContent">
|
|
78
|
+
|
|
79
|
+
<div id="description">
|
|
80
|
+
<p>
|
|
81
|
+
<a href="Views.html">Views</a> in <a href="../Waves.html">Waves</a> are
|
|
82
|
+
ultimately responsible for generating the response body. <a
|
|
83
|
+
href="Views.html">Views</a> mirror controllers - both have full access to
|
|
84
|
+
the request and response, and both may modify the response and even
|
|
85
|
+
short-circuit the request processing and return a result by calling
|
|
86
|
+
redirect or calling <a href="Response.html#M000171">Response#finish</a>.
|
|
87
|
+
</p>
|
|
88
|
+
<p>
|
|
89
|
+
<a href="Views.html">Views</a>, like controllers, are classes with methods
|
|
90
|
+
that are invoked by a mapping block (see <a
|
|
91
|
+
href="Mapping.html">Waves::Mapping</a>). View instance methods take an
|
|
92
|
+
assigns hash that are typically converted into instance variables accesible
|
|
93
|
+
from within a template.
|
|
94
|
+
</p>
|
|
95
|
+
<p>
|
|
96
|
+
Like controllers, a default implementation is provided by the
|
|
97
|
+
<tt>waves</tt> command when you first create your application. This default
|
|
98
|
+
can be overridden to change the behaviors for all views, or you can
|
|
99
|
+
explicitly define a View class to provide specific behavior for one view.
|
|
100
|
+
</p>
|
|
101
|
+
<p>
|
|
102
|
+
The default implementation simply determines which template to render and
|
|
103
|
+
renders it, returning the result as a string. This machinery is provided by
|
|
104
|
+
the View mixin, so it is easy to create your own View implementations.
|
|
105
|
+
</p>
|
|
106
|
+
<h1>Templates</h1>
|
|
107
|
+
<p>
|
|
108
|
+
Although you won‘t typically need to modify or define View classes,
|
|
109
|
+
you will often create and modify templates. Templates can be evaluated
|
|
110
|
+
using any registered Renderer. Two are presently packaged with <a
|
|
111
|
+
href="../Waves.html">Waves</a>: Markaby and Erubis. Templates have access
|
|
112
|
+
to the assigns hash passed to the view method as instance variables. These
|
|
113
|
+
can be explicitly defined by the mapping file or whomever is invoking the
|
|
114
|
+
view.
|
|
115
|
+
</p>
|
|
116
|
+
<p>
|
|
117
|
+
<b>Example</b>
|
|
118
|
+
</p>
|
|
119
|
+
<pre>
|
|
120
|
+
# Find the story named 'home' and pass it as @story into the "story/show" template
|
|
121
|
+
use( :story ) | controller { find( 'home' ) } | view { |x| show( :story => x ) }
|
|
122
|
+
</pre>
|
|
123
|
+
<h1><a href="Helpers.html">Helpers</a></h1>
|
|
124
|
+
<p>
|
|
125
|
+
Helper methods can be defined for any view template by simply defining them
|
|
126
|
+
within the default Helper module in <tt>helpers/default.rb</tt> of the
|
|
127
|
+
generated application. <a href="Helpers.html">Helpers</a> specific to a
|
|
128
|
+
particular View class can be explicitly defined by creating a helper module
|
|
129
|
+
that corresponds to the View class. For examples, for the <tt>User</tt>
|
|
130
|
+
View class, you would define a helper module in <tt>user.rb</tt> named
|
|
131
|
+
<tt>User</tt>.
|
|
132
|
+
</p>
|
|
133
|
+
<p>
|
|
134
|
+
The default helper class initially includes a wide-variety of helpers,
|
|
135
|
+
including helpers for layouts, Textile formatting, rendering forms, and
|
|
136
|
+
nested views, as well as helpers for accessing the request and response
|
|
137
|
+
objects. More helpers will be added in future releases, but in many cases,
|
|
138
|
+
there is no need to include all of them in your application.
|
|
139
|
+
</p>
|
|
140
|
+
<h1>Layouts</h1>
|
|
141
|
+
<p>
|
|
142
|
+
Layouts are defined using the <tt>Layout</tt> view class, and layout
|
|
143
|
+
templates are placed in the <tt>layout</tt> directory of the
|
|
144
|
+
<tt>templates</tt> directory. Layouts are explicitly set within a template
|
|
145
|
+
using the <tt>layout</tt> method.
|
|
146
|
+
</p>
|
|
147
|
+
<p>
|
|
148
|
+
<b>Example</b>
|
|
149
|
+
</p>
|
|
150
|
+
<pre>
|
|
151
|
+
layout :default, :title => @story.title do
|
|
152
|
+
h1 @story.title
|
|
153
|
+
textile @story.content
|
|
154
|
+
end
|
|
155
|
+
</pre>
|
|
156
|
+
<p>
|
|
157
|
+
The layout method takes a name and an assigns hash that will be available
|
|
158
|
+
within the layout template as instance variables. In this example,
|
|
159
|
+
<tt>@title</tt> will be defined as <tt>@story.title</tt> within the layout
|
|
160
|
+
template named ‘default.’
|
|
161
|
+
</p>
|
|
162
|
+
<p>
|
|
163
|
+
Any number of layouts may be included within a single view, and layouts may
|
|
164
|
+
even be nested within layouts. This makes it possible to create large
|
|
165
|
+
numbers of highly structured views that can be easily changed with minimal
|
|
166
|
+
effort. For example, you might specify a layout associated with form
|
|
167
|
+
elements. By incorporating this into your views as a <tt>layout</tt>
|
|
168
|
+
template, you can make changes across all your forms by changing this
|
|
169
|
+
single template.
|
|
170
|
+
</p>
|
|
171
|
+
<h1>Nested <a href="Views.html">Views</a></h1>
|
|
172
|
+
<p>
|
|
173
|
+
It is easy to include one view inside another. A common use for this is to
|
|
174
|
+
define one set of templates for reusable content ‘fragments’
|
|
175
|
+
(somewhat akin to partials in Rails) and another set that incorporate these
|
|
176
|
+
fragments into specific layouts. Including a view from within another view
|
|
177
|
+
is done, logically enough, using the <tt>view</tt> method.
|
|
178
|
+
</p>
|
|
179
|
+
<p>
|
|
180
|
+
<b>Example</b>
|
|
181
|
+
</p>
|
|
182
|
+
<pre>
|
|
183
|
+
# include the summary view for Story
|
|
184
|
+
view :story, :summary, :story => @story
|
|
185
|
+
</pre>
|
|
186
|
+
<h1><a href="Request.html">Request</a> And <a href="Response.html">Response</a> Objects</h1>
|
|
187
|
+
<p>
|
|
188
|
+
As always, the request and response objects, and a wide-variety of
|
|
189
|
+
short-cut methods, are available within view templates via the <a
|
|
190
|
+
href="ResponseMixin.html">Waves::ResponseMixin</a>.
|
|
191
|
+
</p>
|
|
192
|
+
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
</div>
|
|
197
|
+
|
|
198
|
+
<div id="method-list">
|
|
199
|
+
<h3 class="section-bar">Methods</h3>
|
|
200
|
+
|
|
201
|
+
<div class="name-list">
|
|
202
|
+
<a href="#M000022">renderers</a>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
</div>
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
<!-- if includes -->
|
|
210
|
+
|
|
211
|
+
<div id="section">
|
|
212
|
+
|
|
213
|
+
<div id="class-list">
|
|
214
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
|
215
|
+
|
|
216
|
+
Module <a href="Views/Mixin.html" class="link">Waves::Views::Mixin</a><br />
|
|
217
|
+
Class <a href="Views/Base.html" class="link">Waves::Views::Base</a><br />
|
|
218
|
+
Class <a href="Views/NoTemplateError.html" class="link">Waves::Views::NoTemplateError</a><br />
|
|
219
|
+
|
|
220
|
+
</div>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
<!-- if method_list -->
|
|
229
|
+
<div id="methods">
|
|
230
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
231
|
+
|
|
232
|
+
<div id="method-M000022" class="method-detail">
|
|
233
|
+
<a name="M000022"></a>
|
|
234
|
+
|
|
235
|
+
<div class="method-heading">
|
|
236
|
+
<a href="#M000022" class="method-signature">
|
|
237
|
+
<span class="method-name">renderers</span><span class="method-args">()</span>
|
|
238
|
+
</a>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div class="method-description">
|
|
242
|
+
<p>
|
|
243
|
+
A class method that returns the known Renderers, which is any module that
|
|
244
|
+
is defined within Waves::Renderers and includes the <a
|
|
245
|
+
href="Renderers/Mixin.html">Renderers::Mixin</a>. You can define new
|
|
246
|
+
Renderers simply be reopening Waves::Renderers and defining a module that
|
|
247
|
+
mixes in <a href="Renderers/Mixin.html">Renderers::Mixin</a>.
|
|
248
|
+
</p>
|
|
249
|
+
<p><a class="source-toggle" href="#"
|
|
250
|
+
onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
|
|
251
|
+
<div class="method-source-code" id="M000022-source">
|
|
252
|
+
<pre>
|
|
253
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 61</span>
|
|
254
|
+
61: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Views</span>.<span class="ruby-identifier">renderers</span>
|
|
255
|
+
62: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">nil?</span>
|
|
256
|
+
63: <span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">inject</span>([]) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rx</span>,<span class="ruby-identifier">cname</span><span class="ruby-operator">|</span>
|
|
257
|
+
64: ( <span class="ruby-constant">Module</span> <span class="ruby-operator">===</span> (<span class="ruby-identifier">c</span>=<span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">cname</span>)) <span class="ruby-operator">&&</span>
|
|
258
|
+
65: <span class="ruby-identifier">c</span> <span class="ruby-operator"><</span> <span class="ruby-constant">Renderers</span><span class="ruby-operator">::</span><span class="ruby-constant">Mixin</span> ) <span class="ruby-operator">?</span> ( <span class="ruby-identifier">rx</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span> ) <span class="ruby-operator">:</span> <span class="ruby-identifier">rx</span>
|
|
259
|
+
66: <span class="ruby-keyword kw">end</span>
|
|
260
|
+
67: <span class="ruby-keyword kw">end</span>
|
|
261
|
+
</pre>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
</div>
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
</div>
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
<div id="validator-badges">
|
|
274
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
275
|
+
</div>
|
|
276
|
+
|
|
277
|
+
</body>
|
|
278
|
+
</html>
|
|
@@ -0,0 +1,118 @@
|
|
|
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::Views::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::Views::Base</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/views/base_rb.html">
|
|
59
|
+
lib/views/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
|
+
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<!-- if includes -->
|
|
90
|
+
<div id="includes">
|
|
91
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
92
|
+
|
|
93
|
+
<div id="includes-list">
|
|
94
|
+
<span class="include-name"><a href="Mixin.html">Waves::Views::Mixin</a></span>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div id="section">
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
<!-- if method_list -->
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
<div id="validator-badges">
|
|
114
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
</body>
|
|
118
|
+
</html>
|
|
@@ -0,0 +1,279 @@
|
|
|
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::Views::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::Views::Mixin</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/views/mixin_rb.html">
|
|
59
|
+
lib/views/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
|
+
The View mixin simply sets up the machinery for invoking a template, along
|
|
78
|
+
with methods for accessing the request context and the standard interface
|
|
79
|
+
for invoking a view method.
|
|
80
|
+
</p>
|
|
81
|
+
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div id="method-list">
|
|
88
|
+
<h3 class="section-bar">Methods</h3>
|
|
89
|
+
|
|
90
|
+
<div class="name-list">
|
|
91
|
+
<a href="#M000023">included</a>
|
|
92
|
+
<a href="#M000027">method_missing</a>
|
|
93
|
+
<a href="#M000024">new</a>
|
|
94
|
+
<a href="#M000026">render</a>
|
|
95
|
+
<a href="#M000025">renderer</a>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
<!-- if includes -->
|
|
103
|
+
<div id="includes">
|
|
104
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
105
|
+
|
|
106
|
+
<div id="includes-list">
|
|
107
|
+
<span class="include-name"><a href="../ResponseMixin.html">Waves::ResponseMixin</a></span>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div id="section">
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<div id="attribute-list">
|
|
118
|
+
<h3 class="section-bar">Attributes</h3>
|
|
119
|
+
|
|
120
|
+
<div class="name-list">
|
|
121
|
+
<table>
|
|
122
|
+
<tr class="top-aligned-row context-row">
|
|
123
|
+
<td class="context-item-name">request</td>
|
|
124
|
+
<td class="context-item-value"> [R] </td>
|
|
125
|
+
<td class="context-item-desc"></td>
|
|
126
|
+
</tr>
|
|
127
|
+
</table>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
<!-- if method_list -->
|
|
134
|
+
<div id="methods">
|
|
135
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
136
|
+
|
|
137
|
+
<div id="method-M000023" class="method-detail">
|
|
138
|
+
<a name="M000023"></a>
|
|
139
|
+
|
|
140
|
+
<div class="method-heading">
|
|
141
|
+
<a href="#M000023" class="method-signature">
|
|
142
|
+
<span class="method-name">included</span><span class="method-args">( c )</span>
|
|
143
|
+
</a>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div class="method-description">
|
|
147
|
+
<p><a class="source-toggle" href="#"
|
|
148
|
+
onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
|
|
149
|
+
<div class="method-source-code" id="M000023-source">
|
|
150
|
+
<pre>
|
|
151
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 76</span>
|
|
152
|
+
76: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">included</span>( <span class="ruby-identifier">c</span> )
|
|
153
|
+
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">process</span>( <span class="ruby-identifier">request</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
|
154
|
+
78: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">request</span> ).<span class="ruby-identifier">instance_exec</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
|
155
|
+
79: <span class="ruby-keyword kw">end</span>
|
|
156
|
+
80: <span class="ruby-keyword kw">end</span>
|
|
157
|
+
</pre>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<div id="method-M000024" class="method-detail">
|
|
163
|
+
<a name="M000024"></a>
|
|
164
|
+
|
|
165
|
+
<div class="method-heading">
|
|
166
|
+
<a href="#M000024" class="method-signature">
|
|
167
|
+
<span class="method-name">new</span><span class="method-args">( request )</span>
|
|
168
|
+
</a>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
<div class="method-description">
|
|
172
|
+
<p><a class="source-toggle" href="#"
|
|
173
|
+
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
|
174
|
+
<div class="method-source-code" id="M000024-source">
|
|
175
|
+
<pre>
|
|
176
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 82</span>
|
|
177
|
+
82: <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> )
|
|
178
|
+
83: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
|
|
179
|
+
84: <span class="ruby-ivar">@layout</span> = <span class="ruby-identifier">:default</span>
|
|
180
|
+
85: <span class="ruby-keyword kw">end</span>
|
|
181
|
+
</pre>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
187
|
+
|
|
188
|
+
<div id="method-M000027" class="method-detail">
|
|
189
|
+
<a name="M000027"></a>
|
|
190
|
+
|
|
191
|
+
<div class="method-heading">
|
|
192
|
+
<a href="#M000027" class="method-signature">
|
|
193
|
+
<span class="method-name">method_missing</span><span class="method-args">(name,*args)</span>
|
|
194
|
+
</a>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<div class="method-description">
|
|
198
|
+
<p><a class="source-toggle" href="#"
|
|
199
|
+
onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
|
|
200
|
+
<div class="method-source-code" id="M000027-source">
|
|
201
|
+
<pre>
|
|
202
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 102</span>
|
|
203
|
+
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">name</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
204
|
+
103: <span class="ruby-identifier">render</span>( <span class="ruby-node">"/#{self.class.basename.snake_case}/#{name}"</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
|
|
205
|
+
104: <span class="ruby-keyword kw">end</span>
|
|
206
|
+
</pre>
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<div id="method-M000026" class="method-detail">
|
|
212
|
+
<a name="M000026"></a>
|
|
213
|
+
|
|
214
|
+
<div class="method-heading">
|
|
215
|
+
<a href="#M000026" class="method-signature">
|
|
216
|
+
<span class="method-name">render</span><span class="method-args">( path, context = {} )</span>
|
|
217
|
+
</a>
|
|
218
|
+
</div>
|
|
219
|
+
|
|
220
|
+
<div class="method-description">
|
|
221
|
+
<p><a class="source-toggle" href="#"
|
|
222
|
+
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
|
223
|
+
<div class="method-source-code" id="M000026-source">
|
|
224
|
+
<pre>
|
|
225
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 95</span>
|
|
226
|
+
95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>( <span class="ruby-identifier">path</span>, <span class="ruby-identifier">context</span> = {} )
|
|
227
|
+
96: <span class="ruby-identifier">context</span>.<span class="ruby-identifier">merge!</span>( <span class="ruby-identifier">:request</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">request</span> )
|
|
228
|
+
97: <span class="ruby-identifier">template</span> = <span class="ruby-identifier">renderer</span>( <span class="ruby-identifier">path</span> ) <span class="ruby-operator">||</span> <span class="ruby-identifier">renderer</span>( <span class="ruby-identifier">:generic</span> <span class="ruby-operator">/</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>) )
|
|
229
|
+
98: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoTemplateError</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">path</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">template</span>.<span class="ruby-identifier">nil?</span>
|
|
230
|
+
99: <span class="ruby-identifier">template</span>.<span class="ruby-identifier">render</span>( <span class="ruby-identifier">path</span>, <span class="ruby-identifier">context</span> )
|
|
231
|
+
100: <span class="ruby-keyword kw">end</span>
|
|
232
|
+
</pre>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
|
|
237
|
+
<div id="method-M000025" class="method-detail">
|
|
238
|
+
<a name="M000025"></a>
|
|
239
|
+
|
|
240
|
+
<div class="method-heading">
|
|
241
|
+
<a href="#M000025" class="method-signature">
|
|
242
|
+
<span class="method-name">renderer</span><span class="method-args">(path)</span>
|
|
243
|
+
</a>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
<div class="method-description">
|
|
247
|
+
<p>
|
|
248
|
+
Return the first <a href="Mixin.html#M000025">renderer</a> for which a
|
|
249
|
+
template file can be found. Uses Renderers::Mixin.filename to construct the
|
|
250
|
+
filename for each <a href="Mixin.html#M000025">renderer</a>.
|
|
251
|
+
</p>
|
|
252
|
+
<p><a class="source-toggle" href="#"
|
|
253
|
+
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
|
254
|
+
<div class="method-source-code" id="M000025-source">
|
|
255
|
+
<pre>
|
|
256
|
+
<span class="ruby-comment cmt"># File lib/views/mixin.rb, line 89</span>
|
|
257
|
+
89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">renderer</span>(<span class="ruby-identifier">path</span>)
|
|
258
|
+
90: <span class="ruby-constant">Views</span>.<span class="ruby-identifier">renderers</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">renderer</span><span class="ruby-operator">|</span>
|
|
259
|
+
91: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">renderer</span>.<span class="ruby-identifier">filename</span>( <span class="ruby-identifier">path</span> ) )
|
|
260
|
+
92: <span class="ruby-keyword kw">end</span>
|
|
261
|
+
93: <span class="ruby-keyword kw">end</span>
|
|
262
|
+
</pre>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
</div>
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
<div id="validator-badges">
|
|
275
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
276
|
+
</div>
|
|
277
|
+
|
|
278
|
+
</body>
|
|
279
|
+
</html>
|