nitro 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +284 -0
- data/{LICENCE → LICENSE} +1 -1
- data/README +13 -17
- data/RELEASES +13 -1
- data/Rakefile +1 -9
- data/bin/cluster.rb +5 -5
- data/examples/blog/README +45 -0
- data/examples/blog/apache.conf +0 -0
- data/examples/blog/app.rb +21 -0
- data/examples/blog/config.rb +88 -0
- data/examples/blog/lib/blog.rb +104 -0
- data/examples/blog/log/app.log +117 -0
- data/examples/blog/root/comments.xhtml +38 -0
- data/examples/blog/root/entry_form.xhtml +18 -0
- data/examples/blog/root/index.xhtml +43 -0
- data/examples/blog/root/login.xhtml +24 -0
- data/examples/blog/root/m/bubbles.gif +0 -0
- data/examples/blog/root/m/comments_curve.gif +0 -0
- data/examples/blog/root/m/down.gif +0 -0
- data/examples/blog/root/m/footer_bg.gif +0 -0
- data/examples/blog/root/m/garrow.gif +0 -0
- data/examples/blog/root/m/gbull.gif +0 -0
- data/examples/blog/root/m/grbull.gif +0 -0
- data/examples/blog/root/m/h1_bg.gif +0 -0
- data/examples/blog/root/m/header_bg.gif +0 -0
- data/examples/blog/root/m/obull.gif +0 -0
- data/examples/blog/root/m/page_bg.gif +0 -0
- data/examples/blog/root/m/side_title_bg.gif +0 -0
- data/examples/blog/root/m/sidebar_bg.gif +0 -0
- data/examples/blog/root/recent_posts.xhtml +14 -0
- data/examples/blog/root/style.css +201 -0
- data/examples/blog/root/style.xsl +118 -0
- data/examples/blog/root/view_entry.xhtml +29 -0
- data/examples/og/run.rb +27 -29
- data/examples/tiny/README +3 -4
- data/examples/tiny/app.rb +6 -16
- data/examples/tiny/config.rb +30 -0
- data/examples/tiny/log/app.log +23 -0
- data/examples/tiny/root/{index.sx → index.xhtml} +3 -6
- data/lib/{n/std.rb → nitro.rb} +9 -4
- data/lib/{n → nitro}/application.rb +13 -7
- data/lib/{n → nitro}/config.rb +38 -8
- data/lib/{n → nitro}/events.rb +1 -1
- data/lib/{n → nitro}/l10n.rb +1 -1
- data/lib/{n → nitro}/logger.rb +8 -8
- data/lib/{n → nitro}/macros.rb +3 -3
- data/lib/{n → nitro}/mixins.rb +1 -1
- data/lib/nitro/properties.rb +301 -0
- data/lib/{n → nitro}/server.rb +2 -2
- data/lib/{n → nitro}/server/appserver.rb +14 -5
- data/lib/{n → nitro}/server/cluster.rb +5 -5
- data/lib/{n → nitro}/server/cookie.rb +1 -1
- data/lib/nitro/server/dispatcher.rb +66 -0
- data/lib/{n → nitro}/server/filters.rb +7 -7
- data/lib/{n → nitro}/server/filters/autologin.rb +3 -3
- data/lib/{n → nitro}/server/fragment.rb +3 -3
- data/lib/{n → nitro}/server/handlers.rb +3 -3
- data/lib/nitro/server/render.rb +200 -0
- data/lib/{n → nitro}/server/request.rb +6 -6
- data/lib/{n → nitro}/server/requestpart.rb +5 -5
- data/lib/{n → nitro}/server/script.rb +3 -3
- data/lib/{n → nitro}/server/server.rb +4 -4
- data/lib/{n → nitro}/server/session.rb +3 -3
- data/lib/nitro/server/shaders.rb +165 -0
- data/lib/{n → nitro}/server/user.rb +1 -1
- data/lib/nitro/server/webrick.rb +175 -0
- data/lib/nitro/service.rb +25 -0
- data/lib/{n → nitro}/sitemap.rb +2 -2
- data/lib/{n → nitro}/ui/date-select.rb +0 -0
- data/lib/{n → nitro}/ui/pager.rb +1 -1
- data/lib/{n → nitro}/ui/popup.rb +1 -1
- data/lib/{n → nitro}/ui/select.rb +1 -1
- data/lib/{n → nitro}/ui/tabs.rb +1 -1
- data/lib/{n → nitro}/utils/array.rb +1 -1
- data/lib/{n → nitro}/utils/cache.rb +1 -1
- data/lib/{n → nitro}/utils/gfx.rb +1 -1
- data/lib/{n → nitro}/utils/hash.rb +1 -1
- data/lib/{n → nitro}/utils/html.rb +1 -1
- data/lib/{n → nitro}/utils/http.rb +1 -1
- data/lib/{n → nitro}/utils/mail.rb +1 -1
- data/lib/{n → nitro}/utils/number.rb +1 -1
- data/lib/{n → nitro}/utils/pool.rb +1 -1
- data/lib/{n → nitro}/utils/string.rb +19 -95
- data/lib/{n → nitro}/utils/template.rb +0 -0
- data/lib/{n → nitro}/utils/time.rb +1 -1
- data/lib/{n → nitro}/utils/uri.rb +3 -3
- data/lib/nitro/version.rb +11 -0
- data/lib/{n/og.rb → og.rb} +61 -31
- data/lib/{n/og → og}/backend.rb +13 -7
- data/lib/{n/og → og}/backends/mysql.rb +43 -39
- data/lib/{n/og → og}/backends/psql.rb +42 -38
- data/lib/{n/og → og}/connection.rb +21 -9
- data/lib/{n/og → og}/meta.rb +18 -12
- data/lib/xsl/base.xsl +11 -88
- data/test/n/server/tc_cookie.rb +1 -1
- data/test/n/server/tc_filters.rb +1 -1
- data/test/n/server/tc_request.rb +3 -3
- data/test/n/server/tc_requestpart.rb +2 -2
- data/test/n/server/tc_session.rb +1 -1
- data/test/n/tc_events.rb +1 -1
- data/test/n/tc_og.rb +16 -18
- data/test/n/tc_properties.rb +22 -18
- data/test/n/tc_sitemap.rb +2 -2
- data/test/n/ui/tc_pager.rb +4 -4
- data/test/n/utils/tc_cache.rb +1 -1
- data/test/n/utils/tc_hash.rb +1 -1
- data/test/n/utils/tc_html.rb +1 -1
- data/test/n/utils/tc_http.rb +1 -1
- data/test/n/utils/tc_number.rb +1 -1
- data/test/n/utils/tc_strings.rb +1 -46
- data/test/n/utils/tc_uri.rb +1 -1
- metadata +101 -108
- data/examples/simple/README +0 -42
- data/examples/simple/app.rb +0 -31
- data/examples/simple/conf/apache.conf +0 -100
- data/examples/simple/conf/config.rb +0 -72
- data/examples/simple/conf/debug-config.rb +0 -26
- data/examples/simple/conf/live-config.rb +0 -26
- data/examples/simple/conf/requires.rb +0 -43
- data/examples/simple/ctl +0 -32
- data/examples/simple/env.rb +0 -32
- data/examples/simple/install.rb +0 -12
- data/examples/simple/lib/articles/entities.rb +0 -37
- data/examples/simple/lib/articles/lc-en.rb +0 -36
- data/examples/simple/lib/articles/methods.rb +0 -55
- data/examples/simple/lib/articles/part.rb +0 -57
- data/examples/simple/root/add-article.sx +0 -15
- data/examples/simple/root/article-form.ss +0 -20
- data/examples/simple/root/comments-form.ss +0 -16
- data/examples/simple/root/comments.si +0 -30
- data/examples/simple/root/index.sx +0 -44
- data/examples/simple/root/shader/shader.xsl +0 -100
- data/examples/simple/root/shader/style.css +0 -9
- data/examples/simple/root/view-article.sx +0 -29
- data/examples/tiny/conf/config.rb +0 -62
- data/examples/tiny/conf/requires.rb +0 -33
- data/examples/tiny/ctl +0 -16
- data/lib/n/parts.rb +0 -157
- data/lib/n/properties.rb +0 -199
- data/lib/n/server/dispatcher.rb +0 -55
- data/lib/n/server/handlers/code-handler.rb +0 -182
- data/lib/n/server/handlers/page-handler.rb +0 -612
- data/lib/n/server/webrick.rb +0 -283
- data/lib/n/shaders.rb +0 -166
- data/lib/n/sync/clc.rb +0 -110
- data/lib/n/sync/handler.rb +0 -229
- data/lib/n/sync/server.rb +0 -176
- data/lib/p/README +0 -1
@@ -1,44 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
|
3
|
-
<!--
|
4
|
-
A very simple page.
|
5
|
-
All comments are removed from the output.
|
6
|
-
This page uses XSLT because it is the prefered styling method
|
7
|
-
for Nitro applications. XSLT is used in a very trivial way in
|
8
|
-
this example. If you dont need the extra capabilities
|
9
|
-
of XSLT use a NilShader for your app.
|
10
|
-
-->
|
11
|
-
|
12
|
-
<root
|
13
|
-
xmlns:x="http://www.navel.gr/xml/shader.xsd"
|
14
|
-
xmlns:xl="http://www.w3.org/1999/xlink">
|
15
|
-
|
16
|
-
<?r
|
17
|
-
# methods:
|
18
|
-
P::Articles.del_article(request)
|
19
|
-
|
20
|
-
articles = N::Article.all
|
21
|
-
?>
|
22
|
-
|
23
|
-
<!-- x:page is a trivial template, used as an example -->
|
24
|
-
<x:page>
|
25
|
-
|
26
|
-
<?r if articles ?>
|
27
|
-
<ul>
|
28
|
-
<?r for article in articles ?>
|
29
|
-
<li>
|
30
|
-
<a href="articles/#{article.oid}">#{article.title}</a>
|
31
|
-
<!-- @?... is a macro that creates a postback uri -->
|
32
|
-
[<a href="@?del_article_oid=#{article.oid}">del</a>]
|
33
|
-
</li>
|
34
|
-
<?r end ?>
|
35
|
-
</ul>
|
36
|
-
<?r end ?>
|
37
|
-
|
38
|
-
<p>
|
39
|
-
<a href="add-article.sx">Add article</a>
|
40
|
-
</p>
|
41
|
-
|
42
|
-
</x:page>
|
43
|
-
|
44
|
-
</root>
|
@@ -1,100 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
|
3
|
-
<!--
|
4
|
-
A Simple Shader
|
5
|
-
|
6
|
-
code:
|
7
|
-
George Moschovitis <gm@navel.gr>
|
8
|
-
|
9
|
-
(c) 2004 Navel, all rights reserved.
|
10
|
-
$Id: shader.xsl 89 2004-10-20 12:55:58Z gmosx $
|
11
|
-
-->
|
12
|
-
|
13
|
-
<!DOCTYPE shader
|
14
|
-
[
|
15
|
-
<!ENTITY nbsp "<![CDATA[ ]]>">
|
16
|
-
<!ENTITY copy "<![CDATA[©]]>">
|
17
|
-
<!ENTITY euro "<![CDATA[€]]>">
|
18
|
-
<!ENTITY laquo "<![CDATA[«]]>">
|
19
|
-
<!ENTITY raquo "<![CDATA[»]]>">
|
20
|
-
]>
|
21
|
-
|
22
|
-
<xsl:stylesheet
|
23
|
-
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
24
|
-
xmlns:xl="http://www.w3.org/1999/xlink"
|
25
|
-
xmlns:x="http://www.navel.gr/xml/shader.xsd" version="1.0"
|
26
|
-
exclude-result-prefixes="x xl">
|
27
|
-
|
28
|
-
<xsl:include href="../lib/xsl/base.xsl" />
|
29
|
-
|
30
|
-
<xsl:output method="xml" indent="no" encoding="iso-8859-1" />
|
31
|
-
<xsl:strip-space elements="*" />
|
32
|
-
|
33
|
-
<!-- application templates -->
|
34
|
-
|
35
|
-
<xsl:template name="x:head">
|
36
|
-
<head>
|
37
|
-
<title>Simple #{$sitemap.str_path(request.translated_uri, lc, request[:NAVARGS])}</title>
|
38
|
-
<meta name="title" content="Simple" />
|
39
|
-
<meta name="description" content="Example" />
|
40
|
-
<meta name="keywords" content="nitro, example" />
|
41
|
-
<meta name="category" content="example" />
|
42
|
-
<meta name="robots" content="index, follow" />
|
43
|
-
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
44
|
-
|
45
|
-
<xsl:apply-templates select="x:block[@id='meta']"/>
|
46
|
-
|
47
|
-
<base href="#$srv_url/" />
|
48
|
-
<link href="/shader/style.css" rel="stylesheet" type="text/css" media="screen" />
|
49
|
-
|
50
|
-
<xsl:apply-templates select="x:cell[@id='head']"/>
|
51
|
-
|
52
|
-
<script type="text/javascript">
|
53
|
-
<xsl:comment>
|
54
|
-
<xsl:if test="x:cell[@id='script']">
|
55
|
-
<xsl:apply-templates select="x:cell[@id='script']"/>
|
56
|
-
</xsl:if>
|
57
|
-
</xsl:comment>
|
58
|
-
</script>
|
59
|
-
|
60
|
-
</head>
|
61
|
-
</xsl:template>
|
62
|
-
|
63
|
-
<xsl:template name="x:header">
|
64
|
-
#{$sitemap.linked_path(request.translated_uri, lc, request[:NAVARGS])}
|
65
|
-
</xsl:template>
|
66
|
-
|
67
|
-
<xsl:template name="x:footer">
|
68
|
-
<div id="footer">
|
69
|
-
powered by <b>Nitro</b>.
|
70
|
-
</div>
|
71
|
-
</xsl:template>
|
72
|
-
|
73
|
-
<!--
|
74
|
-
can only include x:blocks, all other templates are ignored
|
75
|
-
-->
|
76
|
-
<xsl:template match="x:page">
|
77
|
-
<html>
|
78
|
-
<xsl:call-template name="x:head" />
|
79
|
-
<body>
|
80
|
-
<h1>Simple</h1>
|
81
|
-
|
82
|
-
<div class="page">
|
83
|
-
|
84
|
-
<xsl:call-template name="x:header" />
|
85
|
-
|
86
|
-
<xsl:apply-templates select="x:cell[@id='top']" />
|
87
|
-
|
88
|
-
<div class="block main">
|
89
|
-
<xsl:apply-templates/>
|
90
|
-
</div>
|
91
|
-
|
92
|
-
<xsl:apply-templates select="x:cell[@id='bottom']" />
|
93
|
-
|
94
|
-
<xsl:call-template name="x:footer" />
|
95
|
-
</div>
|
96
|
-
</body>
|
97
|
-
</html>
|
98
|
-
</xsl:template>
|
99
|
-
|
100
|
-
</xsl:stylesheet>
|
@@ -1,29 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
|
3
|
-
<root
|
4
|
-
xmlns:x="http://www.navel.gr/xml/shader.xsd"
|
5
|
-
xmlns:xl="http://www.w3.org/1999/xlink">
|
6
|
-
|
7
|
-
<?r
|
8
|
-
article = Article[request["oid"]]
|
9
|
-
?>
|
10
|
-
|
11
|
-
<x:page>
|
12
|
-
|
13
|
-
<?r if article ?>
|
14
|
-
<h4>#{article.title}</h4>
|
15
|
-
<i>#{N::TimeUtils.date_time(article.create_time)}</i>
|
16
|
-
<p>
|
17
|
-
#{article.body}
|
18
|
-
</p>
|
19
|
-
<?r end ?>
|
20
|
-
|
21
|
-
<h3>Comments</h3>
|
22
|
-
|
23
|
-
<!-- include at run time (dynamic include) -->
|
24
|
-
<?r request[:comments_parent] = article ?>
|
25
|
-
<x:include xl:href="comments.si" />
|
26
|
-
|
27
|
-
</x:page>
|
28
|
-
|
29
|
-
</root>
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# = Configuration
|
2
|
-
#
|
3
|
-
# Use a separate file for configuration, makes the
|
4
|
-
# main file more readable, and allows for reconfiguring
|
5
|
-
# (reload) the webapp without restarting the server.
|
6
|
-
#
|
7
|
-
# code:
|
8
|
-
# * George Moschovitis <gm@navel.gr>
|
9
|
-
#
|
10
|
-
# (c) 2004 Navel, all rights reserved.
|
11
|
-
# $Id: config.rb 112 2004-10-27 10:59:55Z gmosx $
|
12
|
-
|
13
|
-
require "n/logger"
|
14
|
-
require "n/config"
|
15
|
-
|
16
|
-
$name = "Tiny"
|
17
|
-
$root_dir = "tiny/root"
|
18
|
-
|
19
|
-
# Main logger
|
20
|
-
$log = Logger.new(STDERR, 10);
|
21
|
-
|
22
|
-
$reload_scripts = $DBG
|
23
|
-
|
24
|
-
require "n/std"
|
25
|
-
require "n/properties"
|
26
|
-
require "tiny/conf/requires"
|
27
|
-
|
28
|
-
$srv_extension_map = {
|
29
|
-
"sx" => ["text/html",
|
30
|
-
N::PageHandler.new
|
31
|
-
],
|
32
|
-
"si" => ["text/html",
|
33
|
-
N::PageHandler.new
|
34
|
-
],
|
35
|
-
"rx" => ["text/html",
|
36
|
-
N::CodeHandler.new
|
37
|
-
]
|
38
|
-
}
|
39
|
-
|
40
|
-
$srv_address = $appsrv_address = "127.0.0.1"
|
41
|
-
$srv_port = $appsrv_port = 8080
|
42
|
-
$srv_url = "http://#$srv_address:#$srv_port"
|
43
|
-
|
44
|
-
module App
|
45
|
-
|
46
|
-
# Config
|
47
|
-
#
|
48
|
-
module Config
|
49
|
-
|
50
|
-
def initialize_sitemap
|
51
|
-
end
|
52
|
-
|
53
|
-
def initialize_shaders
|
54
|
-
$default_shader = N::NilShader.new
|
55
|
-
end
|
56
|
-
|
57
|
-
def initialize_events
|
58
|
-
end
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
end # module
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# = Requires all needed files
|
2
|
-
#
|
3
|
-
# Collect all requires in one file includable
|
4
|
-
# in multiple executable scripts. Moreover, it
|
5
|
-
# makes the main script file more readable.
|
6
|
-
#
|
7
|
-
# code:
|
8
|
-
# * George Moschovitis <gm@navel.gr>
|
9
|
-
#
|
10
|
-
# (c) 2004 Navel, all rights reserved.
|
11
|
-
# $Id: requires.rb 124 2004-11-01 12:34:17Z gmosx $
|
12
|
-
|
13
|
-
require "n/std"
|
14
|
-
require "n/properties"
|
15
|
-
|
16
|
-
require "n/l10n"
|
17
|
-
require "n/logger"
|
18
|
-
require "n/parts"
|
19
|
-
require "n/events"
|
20
|
-
require "n/shaders"
|
21
|
-
require "n/mixins"
|
22
|
-
require "n/sitemap"
|
23
|
-
|
24
|
-
require "n/utils/number"
|
25
|
-
require "n/utils/string"
|
26
|
-
require "n/utils/gfx"
|
27
|
-
require "n/utils/html"
|
28
|
-
require "n/utils/hash"
|
29
|
-
require "n/utils/array"
|
30
|
-
|
31
|
-
require "n/server/handlers/page-handler"
|
32
|
-
require "n/server/handlers/code-handler"
|
33
|
-
|
data/examples/tiny/ctl
DELETED
data/lib/n/parts.rb
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
# code:
|
2
|
-
# * George Moschovitis <gm@navel.gr>
|
3
|
-
#
|
4
|
-
# (c) 2004 Navel, all rights reserved.
|
5
|
-
# $Id: parts.rb 99 2004-10-22 09:50:28Z gmosx $
|
6
|
-
|
7
|
-
require "singleton"
|
8
|
-
|
9
|
-
require "n/l10n"
|
10
|
-
|
11
|
-
# gmosx, FIXME: safe is probably NOT needed!
|
12
|
-
$parts = N::SafeHash.new
|
13
|
-
$rewrites = N::SafeHash.new
|
14
|
-
$roles = N::SafeArray.new
|
15
|
-
|
16
|
-
module Kernel
|
17
|
-
|
18
|
-
# Special require for part definitions.
|
19
|
-
#
|
20
|
-
def require_part(path)
|
21
|
-
require("p/#{path}/part")
|
22
|
-
for lc in $lc_use
|
23
|
-
begin
|
24
|
-
require("p/#{path}/#{lc}")
|
25
|
-
rescue LoadError => e
|
26
|
-
# Drink it!
|
27
|
-
# $log.debug "No localization files for part '#{path}'" if $DBG
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
# Register a part
|
33
|
-
#
|
34
|
-
def register_part(part_class)
|
35
|
-
part = part_class.instance()
|
36
|
-
$parts[part.name] = part
|
37
|
-
|
38
|
-
# gmosx: DOESNT work yet, we have to manage
|
39
|
-
# the require order, perhaps DI/Copland can help
|
40
|
-
# here?
|
41
|
-
# auto require the parts this one depends
|
42
|
-
# on.
|
43
|
-
#
|
44
|
-
#for dep_part in part.dependencies
|
45
|
-
# require_part(dep_part)
|
46
|
-
#end
|
47
|
-
|
48
|
-
part.start()
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
# ----------------------------------------------------------------------
|
54
|
-
|
55
|
-
module N
|
56
|
-
|
57
|
-
# = Part
|
58
|
-
#
|
59
|
-
# A module of functionality in the framework
|
60
|
-
#
|
61
|
-
# = Design:
|
62
|
-
#
|
63
|
-
# Q: Part should include Entity to allow optional runtime
|
64
|
-
# administration/customization ??
|
65
|
-
#
|
66
|
-
class Part
|
67
|
-
include Singleton
|
68
|
-
|
69
|
-
# the (internal) name of this part
|
70
|
-
attr_accessor :name
|
71
|
-
# the tile of this part (intended for humans)
|
72
|
-
attr_accessor :title
|
73
|
-
# a description of the part
|
74
|
-
attr_accessor :body
|
75
|
-
# the version of this part
|
76
|
-
attr_accessor :version
|
77
|
-
# the vendor
|
78
|
-
attr_accessor :vendor
|
79
|
-
# url of the vendor's homepage.
|
80
|
-
attr_accessor :vendor_url
|
81
|
-
# an array of part names this part depends on. The named
|
82
|
-
# parts are automatically required when requiring this part.
|
83
|
-
attr_accessor :dependencies
|
84
|
-
|
85
|
-
prop_accessor String, :path
|
86
|
-
|
87
|
-
def initialize
|
88
|
-
sitemap()
|
89
|
-
rewrites()
|
90
|
-
roles()
|
91
|
-
prepared_statements()
|
92
|
-
end
|
93
|
-
|
94
|
-
# Install this part to the application. Called
|
95
|
-
# by the application installation scripts. Typically
|
96
|
-
# inserts bootstrap data in the database
|
97
|
-
#
|
98
|
-
def install
|
99
|
-
end
|
100
|
-
|
101
|
-
# Uninstall this part. Typically cleans up the
|
102
|
-
# database.
|
103
|
-
#
|
104
|
-
def unistall
|
105
|
-
end
|
106
|
-
|
107
|
-
# This method is called when the application
|
108
|
-
# is started.
|
109
|
-
#
|
110
|
-
def start
|
111
|
-
end
|
112
|
-
|
113
|
-
# This method is called when the application
|
114
|
-
# is stopped.
|
115
|
-
#
|
116
|
-
def stop
|
117
|
-
end
|
118
|
-
|
119
|
-
# Define the pages this part introduces.
|
120
|
-
#
|
121
|
-
def sitemap
|
122
|
-
end
|
123
|
-
|
124
|
-
# Define the rewrite rules for this part.
|
125
|
-
#
|
126
|
-
def rewrites
|
127
|
-
end
|
128
|
-
|
129
|
-
# Define the roles this part introduces.
|
130
|
-
#
|
131
|
-
def roles
|
132
|
-
end
|
133
|
-
|
134
|
-
# Define usefull prepared statements for this
|
135
|
-
# part
|
136
|
-
#
|
137
|
-
def prepared_statements
|
138
|
-
end
|
139
|
-
|
140
|
-
# Dump this part as s String.
|
141
|
-
#
|
142
|
-
def to_s
|
143
|
-
@name
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
end # module
|
148
|
-
|
149
|
-
# = P
|
150
|
-
#
|
151
|
-
# This module is used as a namespace that encapsulates
|
152
|
-
# the Application Parts defined on top of the engine.
|
153
|
-
#
|
154
|
-
module P
|
155
|
-
end # module
|
156
|
-
|
157
|
-
|