nitro 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +150 -0
- data/README +1 -1
- data/RELEASES +89 -0
- data/Rakefile +3 -3
- data/{AUTHORS → doc/AUTHORS} +0 -0
- data/{LICENSE → doc/LICENSE} +0 -0
- data/doc/bugs.txt +2 -1
- data/examples/README.windows +2 -2
- data/examples/blog/lib/blog/controller.rb +9 -8
- data/examples/blog/log/apache.error_log +71 -0
- data/{lib/xsl → examples/blog/root}/base.xsl +0 -0
- data/examples/blog/root/error.xhtml +56 -0
- data/examples/blog/root/index.xhtml +2 -2
- data/examples/blog/root/recent_posts.xhtml +1 -1
- data/examples/blog/root/style.xsl +4 -4
- data/examples/blog/run.rb +1 -2
- data/examples/no_xsl_blog/root/index.xhtml +2 -2
- data/examples/no_xsl_blog/root/recent_posts.xhtml +1 -1
- data/examples/why_wiki/run.rb +19 -19
- data/lib/nitro.rb +2 -21
- data/lib/nitro/adapters/webrick.rb +19 -3
- data/lib/nitro/context.rb +15 -1
- data/lib/nitro/controller.rb +84 -49
- data/lib/nitro/dispatcher.rb +30 -6
- data/lib/nitro/markup.rb +4 -2
- data/lib/nitro/render.rb +15 -11
- data/lib/nitro/routing.rb +33 -0
- data/lib/nitro/runner.rb +38 -3
- data/lib/nitro/scaffold.rb +7 -4
- data/lib/nitro/shaders.rb +11 -4
- data/lib/nitro/template.rb +140 -0
- data/lib/og.rb +25 -11
- data/lib/og/adapter.rb +141 -7
- data/lib/og/adapters/mysql.rb +41 -3
- data/lib/og/adapters/oracle.rb +4 -3
- data/lib/og/adapters/psql.rb +3 -3
- data/lib/og/adapters/sqlite.rb +3 -3
- data/lib/og/connection.rb +5 -1
- data/lib/og/database.rb +26 -12
- data/lib/og/enchant.rb +50 -16
- data/lib/og/meta.rb +15 -15
- data/lib/og/observer.rb +53 -0
- data/test/glue/tc_property_type_checking.rb +3 -0
- data/test/nitro/tc_controller.rb +1 -1
- data/test/nitro/tc_dispatcher.rb +1 -1
- data/test/nitro/tc_template.rb +32 -0
- data/test/og/tc_many_to_many.rb +62 -0
- data/test/og/tc_observer.rb +85 -0
- data/test/tc_og.rb +16 -2
- metadata +12 -14
- data/bin/cluster +0 -218
- data/examples/why_wiki/wiki.yml +0 -6
- data/examples/wiki.yml +0 -1
- data/lib/nitro/ui/select.rb +0 -40
- data/lib/nitro/ui/sitemap.rb +0 -183
- data/test/nitro/ui/tc_sitemap.rb +0 -37
data/ChangeLog
CHANGED
@@ -1,5 +1,155 @@
|
|
1
|
+
07-03-2005 George Moschovitis <gm@navel.gr>
|
2
|
+
|
3
|
+
* lib/og/adapters/mysql.rb: overide create_fields.
|
4
|
+
|
5
|
+
* examples/why_wiki: updated, added nice urls.
|
6
|
+
|
7
|
+
* lib/nitro/adapters/webrick.rb: use CgiUtils.parse_params and
|
8
|
+
CgiUtils.parse_cookies to be more compatible with FastiCGI, and
|
9
|
+
fix some bugs.
|
10
|
+
|
11
|
+
* examples/blog/roor/base.xsl: moved temporarily here.
|
12
|
+
|
13
|
+
* lib/xsl: deprecated.
|
14
|
+
|
15
|
+
* lib/nitro.rb: removed resolve_action_arguments option.
|
16
|
+
|
17
|
+
* examples/no_xsl_blog/*: updated.
|
18
|
+
|
19
|
+
* RELEASES.og: updated.
|
20
|
+
|
21
|
+
* RELEASES: updated.
|
22
|
+
|
23
|
+
* bin/cluster: deprecated.
|
24
|
+
|
25
|
+
* doc/LICENCE: moved from root.
|
26
|
+
|
27
|
+
* doc/AUTHORS: moved from root.
|
28
|
+
|
29
|
+
* after some fixes, tests pass again.
|
30
|
+
|
31
|
+
* test/nitro/ui/sitemap.rb: deprecated.
|
32
|
+
|
33
|
+
* lib/nitro/ui/sitemap.rb: deprecated.
|
34
|
+
|
35
|
+
* lib/nitro/controller.rb (#action_methods): better removal of pp methods,
|
36
|
+
remove Controller methods.
|
37
|
+
|
38
|
+
* lib/nitro/render.rb: no require of nitro, caused problems.
|
39
|
+
|
40
|
+
* lib/og/adapters/*: added typcast overrides to the other
|
41
|
+
adapters.
|
42
|
+
|
43
|
+
* test/og/tc_observer.rb: added tests.
|
44
|
+
|
45
|
+
06-03-2005 George Moschovitis <gm@navel.gr>
|
46
|
+
|
47
|
+
* lib/og/meta.rb: fixed linkback to_s bug.
|
48
|
+
|
49
|
+
* test/og/tc_observer.rb: implemeted, many cases.
|
50
|
+
|
51
|
+
* lib/og.rb: added og_pre_read / og_post_read callbacks.
|
52
|
+
|
53
|
+
* lib/og/adapter.rb (#eval_lifecycle_methods): evaluate callbacks,
|
54
|
+
(#eval_og_insert): evaluate observer callbacks,
|
55
|
+
fix for class observer,
|
56
|
+
(#eval_og_update): evaluate observer callbacks,
|
57
|
+
(#eval_og_update): evaluate observer callbacks.
|
58
|
+
|
59
|
+
* lib/og/observer.rb: scrapped the STUPID rails design,
|
60
|
+
introduced an ultra cool, efficient, and ruby compatible design.
|
61
|
+
(#add_observer): accepts multiple observers.
|
62
|
+
|
63
|
+
05-03-2005 George Moschovitis <gm@navel.gr>
|
64
|
+
|
65
|
+
* examples/blog/root/error.xhtml: click to reload.
|
66
|
+
|
67
|
+
* lib/nitro/runner.rb: added --crawl option.
|
68
|
+
added --render option.
|
69
|
+
|
70
|
+
* examples/blog/root/shader.xsl: fixed base href bug.
|
71
|
+
|
72
|
+
* lib/nitro/template.rb: #() alias, useful in xslt stylesheets.
|
73
|
+
|
74
|
+
* examples/blog/root/*: use scaffolded view_uri.
|
75
|
+
|
76
|
+
* lib/nitro/scaffold.rb: add support for routes.
|
77
|
+
:nosuffix option.
|
78
|
+
|
79
|
+
* lib/nitro/controller.rb (#action): implemented.
|
80
|
+
(#update_routes): implemented.
|
81
|
+
(ActionParam): implemented.
|
82
|
+
(ActionMeta): implemented.
|
83
|
+
(#action_method_arguments): deprecated.
|
84
|
+
|
85
|
+
04-03-2005 George Moschovitis <gm@navel.gr>
|
86
|
+
|
87
|
+
* lib/nitro/controller.rb: introduced the concept of the action
|
88
|
+
keyword.
|
89
|
+
|
90
|
+
* lib/nitro/routing.rb: introduced,
|
91
|
+
(Router): introduced.
|
92
|
+
(#route): works.
|
93
|
+
|
94
|
+
* lib/nitro/dispatcher.rb: added routes map,
|
95
|
+
experimental rewrite support.
|
96
|
+
|
97
|
+
* lib/og/adapters/*: added support for multiple many_to_many relations.
|
98
|
+
|
99
|
+
* test/og/tc_many_to_many.rb: implemented.
|
100
|
+
|
101
|
+
* lib/og/meta.rb: accept :linkback as symbol,
|
102
|
+
added support for multiple many_to_many relations. [mneumann]
|
103
|
+
|
104
|
+
* lib/og/adapter.rb (join_table): encode a field name
|
105
|
+
to allow for multiple many_to_many relations with the same klass. [mneumann]
|
106
|
+
|
107
|
+
* lib/nitro/markup.rb: markup >, <.
|
108
|
+
|
109
|
+
* examples/blog/root/error.xhtml: Introduced and made really
|
110
|
+
useful.
|
111
|
+
|
112
|
+
* lib/nitro/render.rb (#log_error): reimplemented
|
113
|
+
to be more flexible and allow for much better error reporting.
|
114
|
+
|
115
|
+
* lib/nitro/context.rb (#out): override, to catch errors.
|
116
|
+
|
117
|
+
* lib/nitro/shaders.rb (RubyShader): use the TemplateMixin.
|
118
|
+
|
119
|
+
* RELEASES: updated.
|
120
|
+
|
121
|
+
* lib/nitro/template.rb: factored out TemplateMixin,
|
122
|
+
improved API.
|
123
|
+
|
124
|
+
03-03-2005 George Moschovitis <gm@navel.gr>
|
125
|
+
|
126
|
+
* lib/nitro/template.rb: introduced as standalone template engine,
|
127
|
+
pass binding and buffer to store the result.
|
128
|
+
|
129
|
+
01-03-2005 George Moschovitis <gm@navel.gr>
|
130
|
+
|
131
|
+
* lib/og/enchant.rb: COOL: generate finders for all properties,
|
132
|
+
take :unique into account when generating finders,
|
133
|
+
finders use typecast system.
|
134
|
+
find* alias for select* methods.
|
135
|
+
converted Og.db -> @@og_db.
|
136
|
+
|
137
|
+
* lib/og/adapter.rb: use :unique metadata,
|
138
|
+
introduced typecast system.
|
139
|
+
|
140
|
+
* lib/og.rb: better comments.
|
141
|
+
|
142
|
+
* test/og/tc_observer.rb: introduced.
|
143
|
+
|
144
|
+
* lib/og/observer.rb: introduced,
|
145
|
+
(Observable): implemented.
|
146
|
+
|
147
|
+
* lib/nitro/ui/select.rb: deprecated.
|
148
|
+
|
1
149
|
28-02-2005 George Moschovitis <gm@navel.gr>
|
2
150
|
|
151
|
+
* --- VERSION 0.11.0 ---
|
152
|
+
|
3
153
|
* lib/nitro/controller.rb (#action_method_arguments): implemented.
|
4
154
|
|
5
155
|
* lib/nitro.rb: added resolve_action_arguments,
|
data/README
CHANGED
data/RELEASES
CHANGED
@@ -1,3 +1,92 @@
|
|
1
|
+
== Version 0.12.0 was released on 07/03/2005.
|
2
|
+
|
3
|
+
A careful blend of new features and subtle improvements
|
4
|
+
to the existing infrastructure. Some important bugs where
|
5
|
+
fixed aswell.
|
6
|
+
|
7
|
+
Most notable additions:
|
8
|
+
|
9
|
+
* Nitro allows the definition of metadata for each action.
|
10
|
+
Routing (rewrite) rules, parameter constrains, hierarchy information
|
11
|
+
and custom data can easily be attached to actions:
|
12
|
+
|
13
|
+
def view
|
14
|
+
@entry = Article[@oid]
|
15
|
+
end
|
16
|
+
action :view, :route => /view\/(.*)/, 'oid' => 1
|
17
|
+
|
18
|
+
just browse
|
19
|
+
|
20
|
+
view/1
|
21
|
+
|
22
|
+
and @oid is automatically initialized with request['oid']
|
23
|
+
|
24
|
+
Browse the source to see how to add additional constrains,
|
25
|
+
more is comming in the next version. This feature replaces
|
26
|
+
the non portable ParseTree implementation. The scaffolder
|
27
|
+
is updated to generate routings for nice urls.
|
28
|
+
|
29
|
+
* Og automatically generates finders for all properties, for
|
30
|
+
even easier (and portable) querying:
|
31
|
+
|
32
|
+
class Article
|
33
|
+
property :title, :body, String
|
34
|
+
property :hits, Fixnum
|
35
|
+
property :create_time, Time
|
36
|
+
end
|
37
|
+
|
38
|
+
you get the finders:
|
39
|
+
|
40
|
+
Article.find_by_title
|
41
|
+
Article.find_by_body
|
42
|
+
Article.find_by_hits
|
43
|
+
Article.find_by_create_time
|
44
|
+
|
45
|
+
The finders take into account the unique constrain, to return
|
46
|
+
an array or just an object as needed.
|
47
|
+
|
48
|
+
* Og introduces lifecycle observers to avoid 'poluting' the model
|
49
|
+
objects with excess functionality. You can use every object
|
50
|
+
as observer (duck typing) or extend from an AR style Observer
|
51
|
+
class. The observer callbacks are precompiled in the lifecycle
|
52
|
+
methods only if defined, so the perfomance is not affected
|
53
|
+
in the general case.
|
54
|
+
|
55
|
+
* Factored out templating engine, can now be used in stand-alone
|
56
|
+
mode. Usefull for example to render email templates etc:
|
57
|
+
|
58
|
+
template = %q{
|
59
|
+
Hello #{user}
|
60
|
+
|
61
|
+
dont forget the following facts:
|
62
|
+
|
63
|
+
<?r for item in items ?>
|
64
|
+
<li>#{item}</li>
|
65
|
+
<?r end ?>
|
66
|
+
}
|
67
|
+
|
68
|
+
user = 'gmosx'
|
69
|
+
items = %w{ nitro is really great }
|
70
|
+
out = '' # the rendered template comes here.
|
71
|
+
|
72
|
+
Template.process(template, :out, binding)
|
73
|
+
|
74
|
+
* New options in the default runner:
|
75
|
+
|
76
|
+
--render crawls a web application and renders all pages
|
77
|
+
as static html files. Allows you to leverage Nitro's
|
78
|
+
advanced templating features to generate static sites.
|
79
|
+
|
80
|
+
--crawl spiders the application, useful for testing.
|
81
|
+
|
82
|
+
* Better error page, with more information (see blog example).
|
83
|
+
|
84
|
+
* Fixed Og bug: multiple many_to_many relations with the
|
85
|
+
same target class.
|
86
|
+
|
87
|
+
* further code cleanup, improved examples and more.
|
88
|
+
|
89
|
+
|
1
90
|
== Version 0.11.0 was released on 28/02/2005.
|
2
91
|
|
3
92
|
The platform continues to evolve and now supports the
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake/rdoctask'
|
|
6
6
|
require 'rake/testtask'
|
7
7
|
require 'rake/gempackagetask'
|
8
8
|
|
9
|
-
og = false
|
9
|
+
og = false # true
|
10
10
|
|
11
11
|
task :default => :package
|
12
12
|
|
@@ -59,7 +59,7 @@ spec = Gem::Specification.new do |s|
|
|
59
59
|
s.required_ruby_version = '>= 1.8.0'
|
60
60
|
|
61
61
|
s.files = FileList[
|
62
|
-
'README.og', 'RELEASES.og', 'LICENSE', 'AUTHORS', 'Rakefile', 'ChangeLog*',
|
62
|
+
'README.og', 'RELEASES.og', 'doc/LICENSE', 'doc/AUTHORS', 'Rakefile', 'ChangeLog*',
|
63
63
|
'install.rb',
|
64
64
|
'examples/og/*', 'lib/glue.rb', 'lib/glue/**/*', 'lib/og/**/*', 'lib/og.rb',
|
65
65
|
'test/*og*.rb', 'test/og/*', 'vendor/extensions/**/*'
|
@@ -69,7 +69,7 @@ spec = Gem::Specification.new do |s|
|
|
69
69
|
s.autorequire = 'og'
|
70
70
|
|
71
71
|
s.has_rdoc = true
|
72
|
-
s.extra_rdoc_files = FileList['README.og', 'RELEASES.og', 'LICENSE', 'AUTHORS'].to_a
|
72
|
+
s.extra_rdoc_files = FileList['README.og', 'RELEASES.og', 'doc/LICENSE', 'doc/AUTHORS'].to_a
|
73
73
|
s.rdoc_options << '--main' << 'README.og' << '--title' << 'Og Documentation'
|
74
74
|
s.rdoc_options << '--all' << '--inline-source'
|
75
75
|
|
data/{AUTHORS → doc/AUTHORS}
RENAMED
File without changes
|
data/{LICENSE → doc/LICENSE}
RENAMED
File without changes
|
data/doc/bugs.txt
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
=== Important
|
4
4
|
|
5
5
|
* multipart handling in fcgi adapter.
|
6
|
+
* filter code attached multiple times?
|
6
7
|
|
7
8
|
=== Security
|
8
9
|
|
@@ -11,4 +12,4 @@
|
|
11
12
|
=== Small
|
12
13
|
|
13
14
|
* not correct content type in blog syndication.
|
14
|
-
|
15
|
+
* tc_property_type_checking does not pass when run with rake test.
|
data/examples/README.windows
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
= Windows
|
2
2
|
|
3
3
|
If you are running under windows, first run the
|
4
|
-
tiny, og, wee_style and no_xsl_blog examples.
|
5
|
-
example needs special libraries that are harder to
|
4
|
+
tiny, og, wee_style, why_wiki and no_xsl_blog examples.
|
5
|
+
The blog example needs special libraries that are harder to
|
6
6
|
setup under Windows.
|
7
7
|
|
8
8
|
The example no_xsl_blog is a stripped down version
|
@@ -3,7 +3,6 @@
|
|
3
3
|
# $Id$
|
4
4
|
|
5
5
|
require 'nitro/controller'
|
6
|
-
require 'nitro/builders/rss'
|
7
6
|
require 'nitro/ui/pager'
|
8
7
|
|
9
8
|
require 'lib/blog/model'
|
@@ -15,7 +14,7 @@ class BlogController < N::Controller
|
|
15
14
|
before_filter :get_errors
|
16
15
|
after_filter :cache
|
17
16
|
|
18
|
-
scaffold BlogEntry, :name => 'entry', :index => true
|
17
|
+
scaffold BlogEntry, :name => 'entry', :index => true # , :nosuffix => true
|
19
18
|
scaffold Comment
|
20
19
|
|
21
20
|
def list_entry
|
@@ -32,19 +31,21 @@ class BlogController < N::Controller
|
|
32
31
|
session[:errors] = entry.errors
|
33
32
|
redirect_referer '#new_entry'
|
34
33
|
end
|
35
|
-
|
36
34
|
entry.save!
|
37
35
|
end
|
38
36
|
|
39
|
-
# example
|
37
|
+
# An example route.
|
38
|
+
|
39
|
+
# Example of action with parameter. The parameter
|
40
40
|
# request['oid'] is referenced by the oid method
|
41
|
-
# parameter.
|
41
|
+
# parameter. This also demonstrates implicit routing.
|
42
42
|
|
43
|
-
def myview
|
44
|
-
entry = BlogEntry[oid]
|
43
|
+
def myview
|
44
|
+
entry = BlogEntry[@oid]
|
45
45
|
@out << entry.title
|
46
46
|
end
|
47
|
-
|
47
|
+
action :myview, :route => /view\/(.*)/, 'oid' => 1
|
48
|
+
|
48
49
|
# example of generated view
|
49
50
|
|
50
51
|
def list_entry__xml
|
@@ -5526,3 +5526,74 @@ DEBUG: SELECT * FROM og_comment WHERE entry_oid=9
|
|
5526
5526
|
INFO: cache (after filter example)
|
5527
5527
|
INFO: cache (after filter example)
|
5528
5528
|
[Mon Feb 28 15:48:00 2005] [notice] caught SIGTERM, shutting down
|
5529
|
+
[Mon Mar 07 12:30:48 2005] [notice] Digest: generating secret for digest authentication ...
|
5530
|
+
[Mon Mar 07 12:30:48 2005] [notice] Digest: done
|
5531
|
+
[Mon Mar 07 12:30:49 2005] [notice] FastCGI: process manager initialized (pid 4455)
|
5532
|
+
[Mon Mar 07 12:30:49 2005] [notice] Apache/2.0.53 (Unix) DAV/2 mod_fastcgi/2.4.2 configured -- resuming normal operations
|
5533
|
+
[Mon Mar 07 12:30:51 2005] [warn] FastCGI: (dynamic) server "/home/gmosx/navel/nitro/examples/blog/root/fcgi.rb" started (pid 4461)
|
5534
|
+
INFO: Connecting to database 'blog' using the 'psql' adapter.
|
5535
|
+
DEBUG: Og auto manages the following classes:
|
5536
|
+
DEBUG: [BlogEntry, N::Category, Comment]
|
5537
|
+
DEBUG: Rendering '/'.
|
5538
|
+
DEBUG: Compiling action 'root/index'
|
5539
|
+
DEBUG: Transforming 'root/index.xhtml'
|
5540
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5541
|
+
DEBUG: SELECT * FROM og_blogentry ORDER BY oid DESC LIMIT 3
|
5542
|
+
DEBUG: SELECT COUNT(*) FROM og_blogentry
|
5543
|
+
DEBUG: SELECT COUNT(*) FROM og_comment WHERE entry_oid=3
|
5544
|
+
DEBUG: SELECT COUNT(*) FROM og_comment WHERE entry_oid=2
|
5545
|
+
DEBUG: SELECT COUNT(*) FROM og_comment WHERE entry_oid=1
|
5546
|
+
DEBUG: Rendering '/recent_posts'.
|
5547
|
+
DEBUG: Compiling action 'root/recent_posts'
|
5548
|
+
DEBUG: Transforming 'root/recent_posts.xhtml'
|
5549
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5550
|
+
INFO: cache (after filter example)
|
5551
|
+
INFO: cache (after filter example)
|
5552
|
+
INFO: cache (after filter example)
|
5553
|
+
INFO: cache (after filter example)
|
5554
|
+
DEBUG: Rendering '/view_entry/3'.
|
5555
|
+
DEBUG: Compiling action 'root/view_entry'
|
5556
|
+
DEBUG: Transforming 'root/view_entry.xhtml'
|
5557
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5558
|
+
DEBUG: SELECT * FROM og_blogentry WHERE oid=3
|
5559
|
+
DEBUG: Rendering '/comments'.
|
5560
|
+
DEBUG: Compiling action 'root/comments'
|
5561
|
+
DEBUG: Transforming 'root/comments.xhtml'
|
5562
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5563
|
+
DEBUG: SELECT COUNT(*) FROM og_comment WHERE entry_oid=3
|
5564
|
+
DEBUG: SELECT * FROM og_comment WHERE entry_oid=3
|
5565
|
+
INFO: cache (after filter example)
|
5566
|
+
INFO: cache (after filter example)
|
5567
|
+
INFO: cache (after filter example)
|
5568
|
+
INFO: cache (after filter example)
|
5569
|
+
INFO: cache (after filter example)
|
5570
|
+
INFO: cache (after filter example)
|
5571
|
+
DEBUG: Rendering '/new_comment'.
|
5572
|
+
DEBUG: Compiling action 'root/new_comment'
|
5573
|
+
DEBUG: INSERT INTO og_comment (title,body,create_time,update_time,author,entry_oid,oid) VALUES (NULL,'sfdsfsdf','2005-03-07 12:30:59','2005-03-07 12:30:59','dasd',3,7)
|
5574
|
+
INFO: cache (after filter example)
|
5575
|
+
INFO: cache (after filter example)
|
5576
|
+
INFO: cache (after filter example)
|
5577
|
+
INFO: cache (after filter example)
|
5578
|
+
DEBUG: Rendering '/view_entry/3'.
|
5579
|
+
DEBUG: Compiling action 'root/view_entry'
|
5580
|
+
DEBUG: Transforming 'root/view_entry.xhtml'
|
5581
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5582
|
+
DEBUG: SELECT * FROM og_blogentry WHERE oid=3
|
5583
|
+
DEBUG: Rendering '/comments'.
|
5584
|
+
DEBUG: Compiling action 'root/comments'
|
5585
|
+
DEBUG: Transforming 'root/comments.xhtml'
|
5586
|
+
DEBUG: Parsing xsl 'root/style.xsl'
|
5587
|
+
DEBUG: SELECT COUNT(*) FROM og_comment WHERE entry_oid=3
|
5588
|
+
DEBUG: SELECT * FROM og_comment WHERE entry_oid=3
|
5589
|
+
INFO: cache (after filter example)
|
5590
|
+
INFO: cache (after filter example)
|
5591
|
+
INFO: cache (after filter example)
|
5592
|
+
INFO: cache (after filter example)
|
5593
|
+
INFO: cache (after filter example)
|
5594
|
+
INFO: cache (after filter example)
|
5595
|
+
INFO: cache (after filter example)
|
5596
|
+
INFO: cache (after filter example)
|
5597
|
+
INFO: cache (after filter example)
|
5598
|
+
INFO: cache (after filter example)
|
5599
|
+
[Mon Mar 07 12:36:04 2005] [notice] caught SIGTERM, shutting down
|
File without changes
|
@@ -0,0 +1,56 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title>Error</title>
|
4
|
+
<style>
|
5
|
+
.path {
|
6
|
+
padding: 5px;
|
7
|
+
font-size: 140%;
|
8
|
+
background: #ddd;
|
9
|
+
}
|
10
|
+
.error {
|
11
|
+
padding: 5px;
|
12
|
+
padding-top: 15px;
|
13
|
+
font-size: 140%;
|
14
|
+
color: #f00;
|
15
|
+
}
|
16
|
+
.load {
|
17
|
+
padding: 5px;
|
18
|
+
color: #555;
|
19
|
+
}
|
20
|
+
h2 {
|
21
|
+
padding-left: 5px;
|
22
|
+
background: #eee;
|
23
|
+
}
|
24
|
+
</style>
|
25
|
+
</head>
|
26
|
+
<body>
|
27
|
+
<h1>Error</h1>
|
28
|
+
|
29
|
+
<?r for error, path in @context.rendering_errors ?>
|
30
|
+
<div class="path"><strong>Path:</strong> #{path}</div>
|
31
|
+
<div class="error"><strong>#{error.class.name}:</strong> #{N::Markup.expand(error.to_s)}</div>
|
32
|
+
<div class="load">Click here to <strong><a href="#{request.uri}">reload</a></strong>.</div>
|
33
|
+
<div class="load">Click here to go to the <strong><a href="#{request.referer}">referer</a></strong>.</div>
|
34
|
+
<h2><a href="#" onclick="document.getElementById('trace').style.display = 'block'; return false">Stack Trace</a></h2>
|
35
|
+
<p id="trace" style="display: none">#{error.backtrace.join('<br />')}</p>
|
36
|
+
<?r end ?>
|
37
|
+
|
38
|
+
<h2><a href="#" onclick="document.getElementById('request').style.display = 'block'; return false">Request</a></h2>
|
39
|
+
<div id="request" style="display: none">
|
40
|
+
<p><strong>Parameters:</strong> #{request.params.reject{ |k,v| k == :__RELOADED__ }.inspect}</p>
|
41
|
+
<p><strong>Cookies:</strong> #{request.cookies.inspect}</p>
|
42
|
+
<p><strong>Headers:</strong><br />#{request.headers.collect { |k, v| "#{k} => #{v}" }.join('<br />')}</p>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<h2><a href="#" onclick="document.getElementById('response').style.display = 'block'; return false">Response</a></h2>
|
46
|
+
<div id="response" style="display: none">
|
47
|
+
<p><strong>Headers:</strong> #{request.response_headers.inspect}</p>
|
48
|
+
<p><strong>Cookies:</strong> #{request.response_cookies.inspect}</p>
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<h2><a href="#" onclick="document.getElementById('session').style.display = 'block'; return false">Session</a></h2>
|
52
|
+
<div id="session" style="display: none">
|
53
|
+
<p><strong>Values:</strong> #{session.inspect}</p>
|
54
|
+
</div>
|
55
|
+
</body>
|
56
|
+
</html>
|