ramaze 2009.04 → 2009.05

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. data/CHANGELOG +168 -0
  2. data/MANIFEST +16 -6
  3. data/{README.markdown → README.md} +0 -14
  4. data/Rakefile +20 -20
  5. data/benchmark/bench_templates/bench.rb +67 -0
  6. data/benchmark/bench_templates/view/large.erb +79 -0
  7. data/benchmark/bench_templates/view/large.haml +41 -0
  8. data/benchmark/bench_templates/view/large.xhtml +79 -0
  9. data/benchmark/bench_templates/view/small.erb +21 -0
  10. data/benchmark/bench_templates/view/small.haml +12 -0
  11. data/benchmark/bench_templates/view/small.xhtml +21 -0
  12. data/benchmark/run.rb +14 -21
  13. data/benchmark/suite/minimal.rb +3 -5
  14. data/benchmark/suite/no_informer.rb +0 -2
  15. data/benchmark/suite/no_sessions.rb +3 -4
  16. data/benchmark/suite/no_template.rb +1 -3
  17. data/benchmark/suite/simple.rb +1 -3
  18. data/benchmark/suite/template_erubis.rb +0 -2
  19. data/benchmark/suite/template_etanni.rb +8 -0
  20. data/benchmark/suite/template_ezamar.rb +1 -3
  21. data/benchmark/suite/template_haml.rb +0 -2
  22. data/benchmark/suite/template_liquid.rb +0 -2
  23. data/benchmark/suite/template_markaby.rb +0 -2
  24. data/benchmark/suite/template_nagoro.rb +1 -3
  25. data/benchmark/suite/template_redcloth.rb +0 -2
  26. data/benchmark/suite/template_tenjin.rb +0 -2
  27. data/bin/ramaze +7 -300
  28. data/doc/AUTHORS +11 -7
  29. data/examples/app/chat/layout/{default.nag → default.xhtml} +0 -0
  30. data/examples/app/chat/view/{chat.nag → chat.xhtml} +0 -0
  31. data/examples/app/chat/view/{index.nag → index.xhtml} +0 -0
  32. data/examples/helpers/cache.rb +6 -4
  33. data/lib/ramaze.rb +2 -3
  34. data/lib/ramaze/cache/sequel.rb +17 -5
  35. data/lib/ramaze/gestalt.rb +3 -0
  36. data/lib/ramaze/helper/gestalt.rb +32 -0
  37. data/lib/ramaze/helper/paginate.rb +1 -0
  38. data/lib/ramaze/helper/ultraviolet.rb +2 -0
  39. data/lib/ramaze/log/rotatinginformer.rb +10 -10
  40. data/lib/ramaze/request.rb +1 -4
  41. data/lib/ramaze/tool/bin.rb +330 -0
  42. data/lib/ramaze/version.rb +1 -1
  43. data/lib/ramaze/view.rb +3 -13
  44. data/lib/ramaze/view/erubis.rb +2 -2
  45. data/lib/ramaze/view/ezamar.rb +2 -2
  46. data/lib/ramaze/view/gestalt.rb +14 -0
  47. data/lib/ramaze/view/haml.rb +1 -1
  48. data/lib/ramaze/view/liquid.rb +2 -2
  49. data/lib/ramaze/view/maruku.rb +2 -1
  50. data/lib/ramaze/view/sass.rb +1 -1
  51. data/lib/ramaze/view/tenjin.rb +7 -4
  52. data/lib/vendor/route_exceptions.rb +8 -9
  53. data/ramaze.gemspec +6 -9
  54. data/spec/examples/caching.rb +2 -4
  55. data/spec/examples/element.rb +1 -0
  56. data/spec/examples/templates/template_ezamar.rb +1 -0
  57. data/spec/examples/templates/template_nagoro.rb +1 -0
  58. data/spec/ramaze/error.rb +1 -1
  59. data/spec/ramaze/gestalt.rb +22 -16
  60. data/spec/ramaze/helper/localize.rb +10 -8
  61. data/spec/ramaze/helper/sequel_form.rb +2 -0
  62. data/spec/ramaze/helper/user.rb +2 -2
  63. data/spec/ramaze/view/gestalt.rb +94 -0
  64. data/spec/ramaze/view/gestalt/external.ges +8 -0
  65. data/tasks/install_dependencies.rake +1 -1
  66. data/tasks/release.rake +5 -4
  67. metadata +20 -20
  68. data/benchmark/suite/template_builder.rb +0 -12
  69. data/lib/ramaze/snippets/kernel/constant.rb +0 -41
data/CHANGELOG CHANGED
@@ -1,3 +1,171 @@
1
+ [1719994 | Wed May 06 15:39:28 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
2
+
3
+ * Version 2009.05
4
+
5
+ [6025293 | Wed May 06 15:36:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
6
+
7
+ * VERSION=xxx rake release:xxx
8
+
9
+ [025d2f0 | Wed May 06 15:33:00 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
10
+
11
+ * bring rakefile up to date
12
+
13
+ [645a7e9 | Wed May 06 15:31:47 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
14
+
15
+ * Finally move readme to README.md
16
+
17
+ [fe285e1 | Wed May 06 15:31:26 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
18
+
19
+ * Remove some useless stuff from the readme
20
+
21
+ [9622f31 | Wed May 06 15:21:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
22
+
23
+ * Last minute changes to tasks
24
+
25
+ [966fce3 | Wed May 06 12:38:55 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
26
+
27
+ * Remove Object#constant since it collides with facets
28
+
29
+ [1d9215a | Sun May 03 18:10:44 UTC 2009] Andreas Karlsson <andreas@proxel.se>
30
+
31
+ * Clean up benchmarking.
32
+
33
+ Clean up benchmarking a bit adding support for a mode switch,
34
+ which defaults to "live". Move "require 'ramaze'" to support
35
+ custom environments and killing the logging correctly.
36
+
37
+ Also fix bug where Ramaze.start was run in one of the files
38
+ in the suite, and finally remove the unused --no-sessions.
39
+
40
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
41
+
42
+ [b8337e9 | Tue May 05 15:29:15 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
43
+
44
+ * Add some more non-serious fail
45
+
46
+ [be9d471 | Tue May 05 14:23:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
47
+
48
+ * Don't use Binding#eval
49
+
50
+ [b79699a | Tue May 05 06:13:37 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
51
+
52
+ * Add comment about the state of serialization in Sequel
53
+
54
+ [38a1f25 | Tue May 05 05:13:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
55
+
56
+ * Make the sequel cache and the spec of sequel_form compatible with sequel 3.0.0
57
+
58
+ [0a0553a | Mon May 04 16:39:29 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
59
+
60
+ * Chat examples uses Etanni, not Nagoro
61
+
62
+ [5778a31 | Sat May 02 21:04:38 UTC 2009] TJ Vanderpoel <bougy.man@gmail.com>
63
+
64
+ * refactored bin code to lib/ramaze/tool/bin
65
+
66
+ [b84b566 | Sun May 03 14:53:26 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
67
+
68
+ * Request::current is in Innate
69
+
70
+ [53108b8 | Sat May 02 13:29:18 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
71
+
72
+ * We don't rely on STATE anymore
73
+
74
+ [8d2e57b | Sat May 02 14:09:37 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
75
+
76
+ * Fix the benchmarks
77
+
78
+ [2d5dda3 | Fri May 01 10:22:13 UTC 2009] Andreas Karlsson <andreas@proxel.se>
79
+
80
+ * Use faster method for erubis templates.
81
+
82
+ The evaluate method uses instance_eval on a cached proc instead of using
83
+ eval like the erb compatible result method does.
84
+
85
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
86
+
87
+ [cfd250c | Fri May 01 07:02:03 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
88
+
89
+ * Skip :install_dependencies until we figure out something better
90
+
91
+ [1829f38 | Fri May 01 07:00:39 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
92
+
93
+ * Seems like a regression in rack-test...
94
+
95
+ [09d6fa1 | Fri May 01 07:00:07 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
96
+
97
+ * Fix the errors spec, it should run in :dev mode since :live has no ShowExceptions anymore
98
+
99
+ [499c4ed | Fri May 01 06:55:57 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
100
+
101
+ * Make RouteExceptions a little bit less verbose
102
+
103
+ [a8c6383 | Fri May 01 06:55:35 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
104
+
105
+ * Give the other engines compile caching as well (where it makes sense)
106
+
107
+ [81380cf | Fri May 01 05:49:55 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
108
+
109
+ * Adapt gestalt spec to latest rack-test
110
+
111
+ [e784317 | Fri May 01 05:43:50 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
112
+
113
+ * Fix the helper/caching example
114
+
115
+ [93a741b | Thu Apr 30 09:06:35 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
116
+
117
+ * Use caching for Haml
118
+
119
+ [47a6dec | Thu Apr 30 09:06:17 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
120
+
121
+ * Integrate View better with Innate
122
+
123
+ [e86a143 | Thu Apr 30 07:57:51 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
124
+
125
+ * Split up Haml engine, prepare for caching
126
+
127
+ [b2747cc | Wed Apr 29 09:33:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
128
+
129
+ * Don't use ShowExceptinos in live mode
130
+
131
+ [552a4c3 | Tue Apr 28 17:52:34 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
132
+
133
+ * Fix RotatingInformer
134
+
135
+ [2e53d6e | Tue Apr 28 04:50:27 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
136
+
137
+ * Fix the release tasks
138
+
139
+ [e3c1418 | Tue Apr 28 04:49:49 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
140
+
141
+ * Give the paginator a count
142
+
143
+ [a395c1c | Mon Apr 27 03:33:16 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
144
+
145
+ * Ultraviolet needs traited
146
+
147
+ [a65aaad | Mon Apr 27 01:47:48 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
148
+
149
+ * Forward logging to Ramaze::Log by default
150
+
151
+ [d0536fa | Sun Apr 26 12:21:41 UTC 2009] Tadahiko Uehara <kikofx@gmail.com>
152
+
153
+ * Add support Gestalt as another template engine.
154
+
155
+
156
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
157
+
158
+ [37b2928 | Sun Apr 26 11:51:52 UTC 2009] Tadahiko Uehara <kikofx@gmail.com>
159
+
160
+ * Add gestalt to take text and attributes as arguments.
161
+
162
+
163
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
164
+
165
+ [42e96b1 | Sat Apr 25 15:19:31 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
166
+
167
+ * Version 2009.04
168
+
1
169
  [8a0c6ac | Sat Apr 25 14:31:04 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
2
170
 
3
171
  * Update dependencies
data/MANIFEST CHANGED
@@ -1,8 +1,15 @@
1
1
  .mailmap
2
2
  CHANGELOG
3
3
  MANIFEST
4
- README.markdown
4
+ README.md
5
5
  Rakefile
6
+ benchmark/bench_templates/bench.rb
7
+ benchmark/bench_templates/view/large.erb
8
+ benchmark/bench_templates/view/large.haml
9
+ benchmark/bench_templates/view/large.xhtml
10
+ benchmark/bench_templates/view/small.erb
11
+ benchmark/bench_templates/view/small.haml
12
+ benchmark/bench_templates/view/small.xhtml
6
13
  benchmark/results.txt
7
14
  benchmark/run.rb
8
15
  benchmark/suite/minimal.rb
@@ -10,8 +17,8 @@ benchmark/suite/no_informer.rb
10
17
  benchmark/suite/no_sessions.rb
11
18
  benchmark/suite/no_template.rb
12
19
  benchmark/suite/simple.rb
13
- benchmark/suite/template_builder.rb
14
20
  benchmark/suite/template_erubis.rb
21
+ benchmark/suite/template_etanni.rb
15
22
  benchmark/suite/template_ezamar.rb
16
23
  benchmark/suite/template_haml.rb
17
24
  benchmark/suite/template_liquid.rb
@@ -69,15 +76,15 @@ examples/app/blog/view/feed.atom.nag
69
76
  examples/app/blog/view/feed.rss.nag
70
77
  examples/app/blog/view/index.nag
71
78
  examples/app/blog/view/tag/index.nag
72
- examples/app/chat/layout/default.nag
79
+ examples/app/chat/layout/default.xhtml
73
80
  examples/app/chat/model/history.rb
74
81
  examples/app/chat/model/message.rb
75
82
  examples/app/chat/public/css/chat.css
76
83
  examples/app/chat/public/js/chat.js
77
84
  examples/app/chat/public/js/jquery.js
78
85
  examples/app/chat/start.rb
79
- examples/app/chat/view/chat.nag
80
- examples/app/chat/view/index.nag
86
+ examples/app/chat/view/chat.xhtml
87
+ examples/app/chat/view/index.xhtml
81
88
  examples/app/localization/start.rb
82
89
  examples/app/sourceview/public/coderay.css
83
90
  examples/app/sourceview/public/images/file.gif
@@ -279,7 +286,6 @@ lib/ramaze/snippets/binding/locals.rb
279
286
  lib/ramaze/snippets/blankslate.rb
280
287
  lib/ramaze/snippets/divide.rb
281
288
  lib/ramaze/snippets/fiber.rb
282
- lib/ramaze/snippets/kernel/constant.rb
283
289
  lib/ramaze/snippets/kernel/pretty_inspect.rb
284
290
  lib/ramaze/snippets/metaid.rb
285
291
  lib/ramaze/snippets/numeric/filesize_format.rb
@@ -310,12 +316,14 @@ lib/ramaze/spec/helper/bacon.rb
310
316
  lib/ramaze/spec/helper/pretty_output.rb
311
317
  lib/ramaze/spec/helper/snippets.rb
312
318
  lib/ramaze/spec/helper/template_examples.rb
319
+ lib/ramaze/tool/bin.rb
313
320
  lib/ramaze/tool/create.rb
314
321
  lib/ramaze/tool/project_creator.rb
315
322
  lib/ramaze/version.rb
316
323
  lib/ramaze/view.rb
317
324
  lib/ramaze/view/erubis.rb
318
325
  lib/ramaze/view/ezamar.rb
326
+ lib/ramaze/view/gestalt.rb
319
327
  lib/ramaze/view/haml.rb
320
328
  lib/ramaze/view/liquid.rb
321
329
  lib/ramaze/view/maruku.rb
@@ -427,6 +435,8 @@ spec/ramaze/view/erubis/sum.rhtml
427
435
  spec/ramaze/view/ezamar.rb
428
436
  spec/ramaze/view/ezamar/external.zmr
429
437
  spec/ramaze/view/ezamar/sum.zmr
438
+ spec/ramaze/view/gestalt.rb
439
+ spec/ramaze/view/gestalt/external.ges
430
440
  spec/ramaze/view/haml.rb
431
441
  spec/ramaze/view/haml/external.haml
432
442
  spec/ramaze/view/haml/sum.haml
@@ -399,20 +399,6 @@ For help you can:
399
399
  - Join the Mailinglist at http://ramaze.rubyforge.org
400
400
 
401
401
 
402
- # Appendix
403
-
404
- * Performance
405
- * Serving
406
-
407
- For best performance you should consider using Mongrel to host your
408
- application.
409
-
410
- * Caching
411
-
412
- You can easily cache your pages using the CacheHelper.
413
- Also, using MemCache gives you high-end performance and security.
414
-
415
-
416
402
  # And thanks to...
417
403
 
418
404
  There is a large number of people who made Ramaze possibe by their ongoing
data/Rakefile CHANGED
@@ -11,11 +11,11 @@ PROJECT_SPECS = FileList[
11
11
  'lib/proto/spec/*.rb'
12
12
  ]
13
13
 
14
- PROJECT_MODULE = 'Ramaze'
14
+ PROJECT_MODULE = 'Ramaze'
15
15
  PROJECT_JQUERY_FILE = 'lib/proto/public/js/jquery.js'
16
- PROJECT_README = 'README.markdown'
17
- PROJECT_RUBYFORGE_GROUP_ID = 3034
18
- PROJECT_COPYRIGHT = [
16
+ PROJECT_README = 'README.md'
17
+ PROJECT_VERSION = ENV['VERSION'] || Date.today.strftime('%Y.%m.%d')
18
+ PROJECT_COPYRIGHT = [
19
19
  "# Copyright (c) #{Time.now.year} Michael Fellinger m.fellinger@gmail.com",
20
20
  "# All files in this distribution are subject to the terms of the Ruby license."
21
21
  ]
@@ -31,30 +31,30 @@ GEMSPEC = Gem::Specification.new{|s|
31
31
  s.email = 'm.fellinger@gmail.com'
32
32
  s.homepage = 'http://github.com/manveru/org'
33
33
  s.platform = Gem::Platform::RUBY
34
- s.version = (ENV['PROJECT_VERSION'] || Date.today.strftime("%Y.%m.%d"))
34
+ s.version = PROJECT_VERSION
35
35
  s.files = `git ls-files`.split("\n").sort
36
36
  s.has_rdoc = true
37
37
  s.require_path = 'lib'
38
- s.bindir = "bin"
39
- s.executables = ["ramaze"]
38
+ s.bindir = "bin"
39
+ s.executables = ["ramaze"]
40
40
  s.rubyforge_project = "ramaze"
41
41
 
42
- s.add_dependency('rack', '= 1.0.0')
43
- s.add_dependency('innate', '= 2009.04')
42
+ s.add_dependency('innate', '~> 2009.05')
44
43
 
45
- # s.add_development_dependency('rack-test', '>=0.1.0')
46
- # s.add_development_dependency('json', '>=1.1.3')
47
- # s.add_development_dependency('erubis', '>=2.6.4')
44
+ # rip those out if they cause you trouble
45
+ # s.add_development_dependency('rack-test', '>=0.2.0')
46
+ # s.add_development_dependency('json', '>=1.1.3')
47
+ # s.add_development_dependency('erubis', '>=2.6.4')
48
48
  # s.add_development_dependency('ezamar')
49
- # s.add_development_dependency('haml', '~>2.0.9')
50
- # s.add_development_dependency('hpricot', '>=0.7')
51
- # s.add_development_dependency('liquid', '~>2.0.0')
52
- # s.add_development_dependency('memcache', '~>1.7.0')
49
+ # s.add_development_dependency('haml', '~>2.0.9')
50
+ # s.add_development_dependency('hpricot', '>=0.8.1')
51
+ # s.add_development_dependency('liquid', '~>2.0.0')
52
+ # s.add_development_dependency('memcache-client', '~>1.7.2')
53
53
  # s.add_development_dependency('nagoro')
54
- # s.add_development_dependency('Remarkably', '~>0.5.2')
55
- # s.add_development_dependency('sequel', '>=2.11.0')
56
- # s.add_development_dependency('tagz', '>=5.0.1')
57
- # s.add_development_dependency('tenjin', '~>0.6.1')
54
+ # s.add_development_dependency('Remarkably', '~>0.5.2')
55
+ # s.add_development_dependency('sequel', '= 3.0.0')
56
+ # s.add_development_dependency('tagz', '>=5.0.1')
57
+ # s.add_development_dependency('tenjin', '~>0.6.1')
58
58
 
59
59
  s.post_install_message = <<MESSAGE.strip
60
60
  ============================================================
@@ -0,0 +1,67 @@
1
+ require 'ramaze'
2
+
3
+ class BenchCore < Ramaze::Controller
4
+ map '/'
5
+ end
6
+
7
+ Ramaze.start(:started => true)
8
+
9
+ Innate::Log.loggers.clear
10
+
11
+ require 'benchmark'
12
+
13
+ Benchmark.bmbm(20) do |b|
14
+ n = 500
15
+ urls = ['/small', '/large']
16
+ engines = %w[Etanni Haml ERB]
17
+
18
+ urls.each do |url|
19
+ engines.each do |engine|
20
+ b.report("Unached %10s %p:" % [engine, url]) do
21
+ BenchCore.provide(:html, :engine => engine)
22
+ Innate::View.options.cache = false
23
+ n.times{ Innate::Mock.get(url) }
24
+ end
25
+
26
+ b.report("Cached %11s %p:" % [engine, url]) do
27
+ BenchCore.provide(:html, :engine => engine)
28
+ Innate::Cache.view.clear
29
+ Innate::View.options.cache = true
30
+ n.times{ Innate::Mock.get(url) }
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ __END__
37
+ This benchmark is from Sat May 2 14:58:14 JST 2009
38
+ n = 500
39
+
40
+ Rehearsal ----------------------------------------------------------------
41
+ Unached Etanni "/small": 6.560000 0.490000 7.050000 ( 7.138829)
42
+ Cached Etanni "/small": 6.370000 0.420000 6.790000 ( 6.859946)
43
+ Unached Haml "/small": 8.680000 0.600000 9.280000 ( 9.379500)
44
+ Cached Haml "/small": 6.830000 0.370000 7.200000 ( 7.239311)
45
+ Unached ERB "/small": 8.980000 0.540000 9.520000 ( 9.585725)
46
+ Cached ERB "/small": 6.470000 0.450000 6.920000 ( 6.961339)
47
+ Unached Etanni "/large": 7.800000 0.490000 8.290000 ( 8.338521)
48
+ Cached Etanni "/large": 7.480000 0.400000 7.880000 ( 7.927069)
49
+ Unached Haml "/large": 11.970000 0.620000 12.590000 ( 12.645620)
50
+ Cached Haml "/large": 6.760000 0.490000 7.250000 ( 7.296633)
51
+ Unached ERB "/large": 20.700000 1.000000 21.700000 ( 21.752810)
52
+ Cached ERB "/large": 7.590000 0.430000 8.020000 ( 8.079993)
53
+ ----------------------------------------------------- total: 112.490000sec
54
+
55
+ user system total real
56
+ Unached Etanni "/small": 6.450000 0.420000 6.870000 ( 6.869656)
57
+ Cached Etanni "/small": 6.280000 0.420000 6.700000 ( 6.702520)
58
+ Unached Haml "/small": 8.810000 0.510000 9.320000 ( 9.343563)
59
+ Cached Haml "/small": 6.670000 0.450000 7.120000 ( 7.125798)
60
+ Unached ERB "/small": 8.890000 0.540000 9.430000 ( 9.450362)
61
+ Cached ERB "/small": 6.530000 0.400000 6.930000 ( 6.942688)
62
+ Unached Etanni "/large": 7.830000 0.500000 8.330000 ( 8.348678)
63
+ Cached Etanni "/large": 7.320000 0.470000 7.790000 ( 7.798482)
64
+ Unached Haml "/large": 11.880000 0.630000 12.510000 ( 12.531796)
65
+ Cached Haml "/large": 6.870000 0.410000 7.280000 ( 7.298600)
66
+ Unached ERB "/large": 20.570000 0.930000 21.500000 ( 21.523399)
67
+ Cached ERB "/large": 7.560000 0.430000 7.990000 ( 7.999896)
@@ -0,0 +1,79 @@
1
+ <html>
2
+ <head>
3
+ <title>
4
+ <% if @title %>
5
+ <%= @title %>
6
+ <% end %>
7
+ </title>
8
+ </head>
9
+ <body>
10
+ <h1>
11
+ <% if @h1 %>
12
+ <%= @h1 %>
13
+ <% end %>
14
+ </h1>
15
+ <div>
16
+ <% if @v1 %>
17
+ <% if @v2 %>
18
+ <% if @v3 %>
19
+ <% if @v4 %>
20
+ <% if @v5 %>
21
+ <% if @v6 %>
22
+ <% if @v7 %>
23
+ <% if @v8 %>
24
+ <% if @v9 %>
25
+ <% if @v10 %>
26
+ <% if @v11 %>
27
+ <% if @v12 %>
28
+ <% if @v13 %>
29
+ <% if @v14 %>
30
+ <% if @v15 %>
31
+ <% if @v16 %>
32
+ <% if @v17 %>
33
+ <% if @v18 %>
34
+ <% if @v19 %>
35
+ <% if @v20 %>
36
+ <% if @v21 %>
37
+ <% if @v22 %>
38
+ <% if @v23 %>
39
+ <% if @v24 %>
40
+ <% if @v25 %>
41
+ <% if @v26 %>
42
+ <% if @v27 %>
43
+ <% if @v28 %>
44
+ <% if @v29 %>
45
+ <% if @v30 %>
46
+ <%= stuff %>
47
+ <% end %>
48
+ <% end %>
49
+ <% end %>
50
+ <% end %>
51
+ <% end %>
52
+ <% end %>
53
+ <% end %>
54
+ <% end %>
55
+ <% end %>
56
+ <% end %>
57
+ <% end %>
58
+ <% end %>
59
+ <% end %>
60
+ <% end %>
61
+ <% end %>
62
+ <% end %>
63
+ <% end %>
64
+ <% end %>
65
+ <% end %>
66
+ <% end %>
67
+ <% end %>
68
+ <% end %>
69
+ <% end %>
70
+ <% end %>
71
+ <% end %>
72
+ <% end %>
73
+ <% end %>
74
+ <% end %>
75
+ <% end %>
76
+ <% end %>
77
+ </div>
78
+ </body>
79
+ </html>