ramaze 0.3.9.1 → 2008.06

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.
Files changed (400) hide show
  1. data/{doc/README → README.markdown} +78 -32
  2. data/Rakefile +53 -50
  3. data/benchmark/results.txt +131 -0
  4. data/benchmark/run.rb +362 -0
  5. data/benchmark/suite/minimal.rb +13 -0
  6. data/benchmark/suite/no_informer.rb +9 -0
  7. data/benchmark/suite/no_sessions.rb +10 -0
  8. data/benchmark/suite/no_template.rb +9 -0
  9. data/benchmark/suite/simple.rb +7 -0
  10. data/benchmark/suite/template_amrita2.rb +17 -0
  11. data/benchmark/suite/template_builder.rb +12 -0
  12. data/benchmark/suite/template_erubis.rb +10 -0
  13. data/benchmark/suite/template_ezamar.rb +10 -0
  14. data/benchmark/suite/template_haml.rb +15 -0
  15. data/benchmark/suite/template_liquid.rb +13 -0
  16. data/benchmark/suite/template_markaby.rb +11 -0
  17. data/benchmark/suite/template_nagoro.rb +10 -0
  18. data/benchmark/suite/template_redcloth.rb +15 -0
  19. data/benchmark/suite/template_tenjin.rb +10 -0
  20. data/benchmark/test.rb +35 -0
  21. data/bin/ramaze +32 -122
  22. data/cache.yaml +7 -0
  23. data/doc/AUTHORS +26 -22
  24. data/doc/CHANGELOG +16720 -3907
  25. data/doc/INSTALL +77 -19
  26. data/doc/LEGAL +0 -4
  27. data/doc/meta/announcement.txt +43 -54
  28. data/doc/meta/configuration.txt +3 -2
  29. data/doc/readme_chunks/examples.txt +2 -2
  30. data/doc/readme_chunks/installing.txt +66 -20
  31. data/doc/tutorial/todolist.html +338 -520
  32. data/doc/tutorial/todolist.mkd +36 -2
  33. data/examples/{auth → app/auth}/auth.rb +0 -0
  34. data/examples/{auth → app/auth}/template/layout.haml +0 -0
  35. data/examples/{auth → app/auth}/template/login.haml +0 -0
  36. data/examples/{blog → app/blog}/README +0 -0
  37. data/examples/{blog → app/blog}/controller/main.rb +1 -1
  38. data/examples/{blog → app/blog}/model/entry.rb +1 -1
  39. data/examples/{blog → app/blog}/public/styles/blog.css +0 -0
  40. data/examples/{blog → app/blog}/spec/blog.rb +2 -2
  41. data/examples/{blog → app/blog}/start.rb +0 -0
  42. data/examples/{blog → app/blog}/view/edit.xhtml +0 -0
  43. data/examples/{blog → app/blog}/view/index.xhtml +0 -0
  44. data/examples/{blog → app/blog}/view/layout.xhtml +0 -0
  45. data/examples/{blog → app/blog}/view/new.xhtml +0 -0
  46. data/examples/app/chat/model/history.rb +36 -0
  47. data/examples/app/chat/model/message.rb +7 -0
  48. data/examples/app/chat/public/css/chat.css +13 -0
  49. data/examples/app/chat/public/js/chat.js +22 -0
  50. data/examples/app/chat/public/js/jquery.js +3436 -0
  51. data/examples/app/chat/start.rb +40 -0
  52. data/examples/app/chat/view/chat.xhtml +9 -0
  53. data/examples/app/chat/view/index.xhtml +7 -0
  54. data/examples/app/chat/view/layout.xhtml +13 -0
  55. data/examples/app/localization/start.rb +35 -0
  56. data/examples/{rammit → app/rammit}/spec/rammit.rb +2 -1
  57. data/examples/{rammit → app/rammit}/src/controller/main.rb +0 -0
  58. data/examples/{rammit → app/rammit}/src/controller/page.rb +0 -0
  59. data/examples/{rammit → app/rammit}/src/model.rb +0 -0
  60. data/examples/{rammit → app/rammit}/start.rb +0 -0
  61. data/examples/{rammit → app/rammit}/template/index.xhtml +0 -0
  62. data/examples/{rammit → app/rammit}/template/page/view.xhtml +0 -0
  63. data/examples/{rapaste → app/rapaste}/Rakefile +0 -1
  64. data/examples/{rapaste → app/rapaste}/controller/paste.rb +3 -3
  65. data/examples/{rapaste → app/rapaste}/model/paste.rb +0 -0
  66. data/examples/{rapaste → app/rapaste}/public/css/active4d.css +0 -0
  67. data/examples/{rapaste → app/rapaste}/public/css/all_hallows_eve.css +0 -0
  68. data/examples/{rapaste → app/rapaste}/public/css/amy.css +0 -0
  69. data/examples/{rapaste → app/rapaste}/public/css/blackboard.css +0 -0
  70. data/examples/{rapaste → app/rapaste}/public/css/brilliance_black.css +0 -0
  71. data/examples/{rapaste → app/rapaste}/public/css/brilliance_dull.css +0 -0
  72. data/examples/{rapaste → app/rapaste}/public/css/cobalt.css +0 -0
  73. data/examples/{rapaste → app/rapaste}/public/css/dawn.css +0 -0
  74. data/examples/{rapaste → app/rapaste}/public/css/display.css +0 -0
  75. data/examples/{rapaste → app/rapaste}/public/css/eiffel.css +0 -0
  76. data/examples/{rapaste → app/rapaste}/public/css/espresso_libre.css +0 -0
  77. data/examples/{rapaste → app/rapaste}/public/css/idle.css +0 -0
  78. data/examples/{rapaste → app/rapaste}/public/css/iplastic.css +0 -0
  79. data/examples/{rapaste → app/rapaste}/public/css/lazy.css +0 -0
  80. data/examples/{rapaste → app/rapaste}/public/css/mac_classic.css +0 -0
  81. data/examples/{rapaste → app/rapaste}/public/css/magicwb_amiga.css +0 -0
  82. data/examples/{rapaste → app/rapaste}/public/css/pastels_on_dark.css +0 -0
  83. data/examples/{rapaste → app/rapaste}/public/css/slush_poppies.css +0 -0
  84. data/examples/{rapaste → app/rapaste}/public/css/spacecadet.css +0 -0
  85. data/examples/{rapaste → app/rapaste}/public/css/sunburst.css +0 -0
  86. data/examples/{rapaste → app/rapaste}/public/css/twilight.css +0 -0
  87. data/examples/{rapaste → app/rapaste}/public/css/zenburnesque.css +0 -0
  88. data/examples/{rapaste → app/rapaste}/public/js/jquery.js +0 -0
  89. data/examples/{rapaste → app/rapaste}/spec/rapaste.rb +2 -2
  90. data/examples/{rapaste → app/rapaste}/start.rb +0 -0
  91. data/examples/{rapaste → app/rapaste}/view/copy.xhtml +0 -0
  92. data/examples/{rapaste → app/rapaste}/view/index.xhtml +0 -0
  93. data/examples/{rapaste → app/rapaste}/view/layout.xhtml +0 -0
  94. data/examples/{rapaste → app/rapaste}/view/list.xhtml +0 -0
  95. data/examples/{rapaste → app/rapaste}/view/search.xhtml +0 -0
  96. data/examples/{rapaste → app/rapaste}/view/view.xhtml +0 -0
  97. data/examples/{sourceview → app/sourceview}/public/coderay.css +0 -0
  98. data/examples/{sourceview → app/sourceview}/public/images/file.gif +0 -0
  99. data/examples/{sourceview → app/sourceview}/public/images/folder.gif +0 -0
  100. data/examples/{sourceview → app/sourceview}/public/images/tv-collapsable-last.gif +0 -0
  101. data/examples/{sourceview → app/sourceview}/public/images/tv-collapsable.gif +0 -0
  102. data/examples/{sourceview → app/sourceview}/public/images/tv-expandable-last.gif +0 -0
  103. data/examples/{sourceview → app/sourceview}/public/images/tv-expandable.gif +0 -0
  104. data/examples/{sourceview → app/sourceview}/public/images/tv-item-last.gif +0 -0
  105. data/examples/{sourceview → app/sourceview}/public/images/tv-item.gif +0 -0
  106. data/examples/{sourceview → app/sourceview}/public/jquery.js +0 -0
  107. data/examples/{sourceview → app/sourceview}/public/jquery.treeview.css +0 -0
  108. data/examples/{sourceview → app/sourceview}/public/jquery.treeview.js +0 -0
  109. data/examples/{sourceview → app/sourceview}/public/sourceview.js +0 -0
  110. data/examples/{sourceview → app/sourceview}/sourceview.rb +1 -1
  111. data/examples/{sourceview → app/sourceview}/template/index.haml +0 -0
  112. data/examples/{todolist → app/todolist}/README +0 -0
  113. data/examples/{todolist → app/todolist}/public/favicon.ico +0 -0
  114. data/examples/{todolist → app/todolist}/public/js/jquery.js +0 -0
  115. data/examples/{todolist → app/todolist}/public/ramaze.png +0 -0
  116. data/examples/{todolist → app/todolist}/spec/todolist.rb +2 -2
  117. data/examples/{todolist → app/todolist}/src/controller/main.rb +0 -0
  118. data/examples/{todolist → app/todolist}/src/element/page.rb +0 -0
  119. data/examples/{todolist → app/todolist}/src/model.rb +0 -0
  120. data/examples/{todolist → app/todolist}/start.rb +0 -0
  121. data/examples/{todolist → app/todolist}/template/index.xhtml +0 -0
  122. data/examples/{todolist → app/todolist}/template/new.xhtml +0 -0
  123. data/examples/{upload → app/upload}/start.rb +0 -0
  124. data/examples/{upload → app/upload}/view/index.xhtml +0 -0
  125. data/examples/{whywiki → app/whywiki}/spec/whywiki.rb +3 -3
  126. data/examples/{whywiki → app/whywiki}/start.rb +0 -0
  127. data/examples/{whywiki → app/whywiki}/template/edit.xhtml +0 -0
  128. data/examples/{whywiki → app/whywiki}/template/show.xhtml +0 -0
  129. data/examples/{wikore → app/wikore}/spec/wikore.rb +2 -2
  130. data/examples/{wikore → app/wikore}/src/controller.rb +0 -0
  131. data/examples/{wikore → app/wikore}/src/model.rb +0 -0
  132. data/examples/{wikore → app/wikore}/start.rb +0 -0
  133. data/examples/{wikore → app/wikore}/template/index.xhtml +0 -0
  134. data/examples/{wiktacular → app/wiktacular}/README +0 -0
  135. data/examples/{wiktacular → app/wiktacular}/mkd/link/2007-07-20_19-45-51.mkd +0 -0
  136. data/examples/{wiktacular → app/wiktacular}/mkd/link/current.mkd +0 -0
  137. data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_16-31-33.mkd +0 -0
  138. data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_19-21-12.mkd +0 -0
  139. data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_19-23-10.mkd +0 -0
  140. data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_19-45-07.mkd +0 -0
  141. data/examples/{wiktacular → app/wiktacular}/mkd/main/current.mkd +0 -0
  142. data/examples/{wiktacular → app/wiktacular}/mkd/markdown/current.mkd +0 -0
  143. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-20_16-43-46.mkd +0 -0
  144. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-20_19-43-50.mkd +0 -0
  145. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-01.mkd +0 -0
  146. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-32.mkd +0 -0
  147. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-08.mkd +0 -0
  148. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-54.mkd +0 -0
  149. data/examples/{wiktacular → app/wiktacular}/mkd/testing/current.mkd +0 -0
  150. data/examples/{wiktacular → app/wiktacular}/public/favicon.ico +0 -0
  151. data/examples/{wiktacular → app/wiktacular}/public/screen.css +0 -0
  152. data/examples/{wiktacular → app/wiktacular}/spec/wiktacular.rb +4 -5
  153. data/examples/{wiktacular → app/wiktacular}/src/controller.rb +0 -0
  154. data/examples/{wiktacular → app/wiktacular}/src/model.rb +0 -0
  155. data/examples/{wiktacular → app/wiktacular}/start.rb +0 -0
  156. data/examples/{wiktacular → app/wiktacular}/template/edit.xhtml +0 -0
  157. data/examples/{wiktacular → app/wiktacular}/template/html_layout.xhtml +0 -0
  158. data/examples/{wiktacular → app/wiktacular}/template/index.xhtml +0 -0
  159. data/examples/{wiktacular → app/wiktacular}/template/new.xhtml +0 -0
  160. data/examples/{element.rb → basic/element.rb} +0 -0
  161. data/examples/basic/gestalt.rb +27 -0
  162. data/examples/{hello.rb → basic/hello.rb} +0 -0
  163. data/examples/{layout.rb → basic/layout.rb} +0 -0
  164. data/examples/{linking.rb → basic/linking.rb} +0 -0
  165. data/examples/{simple.rb → basic/simple.rb} +3 -3
  166. data/examples/{caching.rb → helpers/cache.rb} +0 -0
  167. data/examples/helpers/form_with_sequel.rb +24 -0
  168. data/examples/helpers/httpdigest.rb +50 -0
  169. data/examples/{identity.rb → helpers/identity.rb} +0 -0
  170. data/examples/{nitro_form.rb → helpers/nitro_form.rb} +0 -0
  171. data/examples/helpers/provide.rb +23 -0
  172. data/examples/helpers/rest.rb +28 -0
  173. data/examples/helpers/simple_captcha.rb +29 -0
  174. data/examples/{css.rb → misc/css.rb} +0 -0
  175. data/examples/{facebook.rb → misc/facebook.rb} +0 -0
  176. data/examples/{memleak_detector.rb → misc/memleak_detector.rb} +0 -0
  177. data/examples/misc/nagoro_element.rb +43 -0
  178. data/examples/{ramaise.rb → misc/ramaise.rb} +0 -0
  179. data/examples/misc/rapp.rb +45 -0
  180. data/examples/misc/sequel_scaffolding.rb +34 -0
  181. data/examples/{simple_auth.rb → misc/simple_auth.rb} +0 -0
  182. data/examples/templates/template_amrita2.rb +1 -1
  183. data/examples/templates/template_erubis.rb +2 -2
  184. data/examples/templates/template_ezamar.rb +1 -1
  185. data/examples/templates/template_haml.rb +2 -2
  186. data/examples/templates/template_liquid.rb +2 -2
  187. data/examples/templates/template_markaby.rb +1 -1
  188. data/examples/templates/template_nagoro.rb +1 -1
  189. data/examples/templates/template_redcloth.rb +2 -2
  190. data/examples/templates/template_remarkably.rb +1 -1
  191. data/examples/templates/template_tenjin.rb +5 -9
  192. data/examples/templates/template_xslt.rb +1 -1
  193. data/lib/proto/public/dispatch.fcgi +0 -0
  194. data/lib/proto/public/js/jquery.js +750 -577
  195. data/lib/proto/spec/main.rb +1 -1
  196. data/lib/proto/start.ru +8 -0
  197. data/lib/proto/view/page.xhtml +13 -1
  198. data/lib/ramaze.rb +32 -15
  199. data/lib/ramaze/action.rb +18 -1
  200. data/lib/ramaze/action/render.rb +45 -17
  201. data/lib/ramaze/adapter.rb +8 -7
  202. data/lib/ramaze/adapter/base.rb +79 -13
  203. data/lib/ramaze/adapter/cgi.rb +5 -10
  204. data/lib/ramaze/adapter/ebb.rb +6 -20
  205. data/lib/ramaze/adapter/fake.rb +12 -0
  206. data/lib/ramaze/adapter/fcgi.rb +5 -11
  207. data/lib/ramaze/adapter/lsws.rb +5 -9
  208. data/lib/ramaze/adapter/mongrel.rb +5 -9
  209. data/lib/ramaze/adapter/scgi.rb +4 -8
  210. data/lib/ramaze/adapter/thin.rb +6 -11
  211. data/lib/ramaze/adapter/webrick.rb +13 -22
  212. data/lib/ramaze/cache.rb +36 -10
  213. data/lib/ramaze/cache/memcached.rb +3 -2
  214. data/lib/ramaze/contrib.rb +1 -1
  215. data/lib/ramaze/contrib/email.rb +1 -1
  216. data/lib/ramaze/contrib/file_cache.rb +1 -1
  217. data/lib/ramaze/contrib/gems.rb +79 -0
  218. data/lib/ramaze/contrib/gettext/po.rb +0 -0
  219. data/lib/ramaze/contrib/profiling.rb +1 -1
  220. data/lib/ramaze/contrib/rest.rb +14 -0
  221. data/lib/ramaze/controller.rb +45 -12
  222. data/lib/ramaze/controller/error.rb +4 -4
  223. data/lib/ramaze/controller/resolve.rb +61 -42
  224. data/lib/ramaze/current.rb +2 -2
  225. data/lib/ramaze/current/request.rb +25 -2
  226. data/lib/ramaze/current/response.rb +8 -0
  227. data/lib/ramaze/current/session.rb +64 -36
  228. data/lib/ramaze/current/session/flash.rb +14 -2
  229. data/lib/ramaze/current/session/hash.rb +3 -2
  230. data/lib/ramaze/dispatcher.rb +25 -12
  231. data/lib/ramaze/dispatcher/action.rb +12 -3
  232. data/lib/ramaze/dispatcher/directory.rb +4 -1
  233. data/lib/ramaze/dispatcher/error.rb +3 -3
  234. data/lib/ramaze/dispatcher/file.rb +11 -3
  235. data/lib/ramaze/gestalt.rb +1 -1
  236. data/lib/ramaze/helper.rb +17 -21
  237. data/lib/ramaze/helper/aspect.rb +20 -14
  238. data/lib/ramaze/helper/auth.rb +1 -1
  239. data/lib/ramaze/helper/cache.rb +3 -6
  240. data/lib/ramaze/helper/cgi.rb +6 -2
  241. data/lib/ramaze/helper/flash.rb +7 -7
  242. data/lib/ramaze/helper/form.rb +281 -0
  243. data/lib/ramaze/helper/formatting.rb +76 -0
  244. data/lib/ramaze/helper/gestalt.rb +15 -0
  245. data/lib/ramaze/helper/gravatar.rb +15 -0
  246. data/lib/ramaze/helper/httpdigest.rb +48 -0
  247. data/lib/ramaze/helper/identity.rb +87 -62
  248. data/lib/ramaze/helper/partial.rb +11 -2
  249. data/lib/ramaze/helper/redirect.rb +12 -3
  250. data/lib/ramaze/helper/rest.rb +43 -0
  251. data/lib/ramaze/helper/sendfile.rb +1 -3
  252. data/lib/ramaze/helper/sequel.rb +3 -0
  253. data/lib/ramaze/helper/simple_captcha.rb +31 -0
  254. data/lib/ramaze/helper/stack.rb +14 -5
  255. data/lib/ramaze/helper/user.rb +86 -34
  256. data/lib/ramaze/helper/xhtml.rb +23 -0
  257. data/lib/ramaze/log.rb +1 -2
  258. data/lib/ramaze/log/analogger.rb +24 -19
  259. data/lib/ramaze/log/growl.rb +24 -19
  260. data/lib/ramaze/log/hub.rb +25 -22
  261. data/lib/ramaze/log/informer.rb +104 -99
  262. data/lib/ramaze/log/knotify.rb +17 -12
  263. data/lib/ramaze/log/logger.rb +14 -8
  264. data/lib/ramaze/log/logging.rb +63 -60
  265. data/lib/ramaze/log/syslog.rb +24 -19
  266. data/lib/ramaze/log/xosd.rb +77 -71
  267. data/lib/ramaze/option.rb +153 -0
  268. data/lib/ramaze/option/dsl.rb +45 -0
  269. data/lib/ramaze/option/holder.rb +153 -0
  270. data/lib/ramaze/option/merger.rb +108 -0
  271. data/lib/ramaze/route.rb +15 -2
  272. data/lib/ramaze/setup.rb +50 -0
  273. data/lib/ramaze/snippets/binding/locals.rb +1 -1
  274. data/lib/ramaze/snippets/dictionary.rb +3 -3
  275. data/lib/ramaze/snippets/divide.rb +7 -7
  276. data/lib/ramaze/snippets/kernel/__dir__.rb +1 -1
  277. data/lib/ramaze/snippets/kernel/acquire.rb +0 -5
  278. data/lib/ramaze/snippets/metaid.rb +1 -1
  279. data/lib/ramaze/snippets/numeric/filesize_format.rb +11 -5
  280. data/lib/ramaze/snippets/object/instance_variable_defined.rb +8 -0
  281. data/lib/ramaze/snippets/object/scope.rb +1 -1
  282. data/lib/ramaze/snippets/object/thread_accessor.rb +1 -1
  283. data/lib/ramaze/snippets/ordered_set.rb +5 -1
  284. data/lib/ramaze/snippets/ramaze/deprecated.rb +7 -0
  285. data/lib/ramaze/snippets/ramaze/thread_accessor.rb +15 -1
  286. data/lib/ramaze/snippets/string/esc.rb +2 -2
  287. data/lib/ramaze/snippets/string/start_with.rb +1 -0
  288. data/lib/ramaze/snippets/string/unindent.rb +9 -1
  289. data/lib/ramaze/snippets/struct/values_at.rb +17 -1
  290. data/lib/ramaze/snippets/thread/into.rb +1 -1
  291. data/lib/ramaze/sourcereload.rb +83 -76
  292. data/lib/ramaze/spec/helper.rb +39 -26
  293. data/lib/ramaze/spec/helper/bacon.rb +5 -5
  294. data/lib/ramaze/spec/helper/mock_http.rb +1 -7
  295. data/lib/ramaze/spec/helper/pretty_output.rb +10 -2
  296. data/lib/ramaze/spec/helper/requester.rb +14 -0
  297. data/lib/ramaze/template.rb +6 -3
  298. data/lib/ramaze/template/amrita2.rb +1 -0
  299. data/lib/ramaze/template/erubis.rb +7 -1
  300. data/lib/ramaze/template/ezamar/render_partial.rb +1 -1
  301. data/lib/ramaze/template/nagoro.rb +1 -0
  302. data/lib/ramaze/template/redcloth.rb +1 -0
  303. data/lib/ramaze/template/tagz.rb +8 -8
  304. data/lib/ramaze/template/tenjin.rb +42 -2
  305. data/lib/ramaze/template/xslt.rb +4 -0
  306. data/lib/ramaze/tool/daemonize.rb +37 -0
  307. data/lib/ramaze/tool/localize.rb +142 -106
  308. data/lib/ramaze/version.rb +2 -10
  309. data/rake_tasks/conf.rake +11 -13
  310. data/rake_tasks/gem.rake +59 -37
  311. data/rake_tasks/git.rake +41 -0
  312. data/rake_tasks/maintenance.rake +263 -299
  313. data/rake_tasks/release.rake +63 -0
  314. data/rake_tasks/spec.rake +1 -1
  315. data/ramaze.gemspec +731 -0
  316. data/spec/contrib/profiling.rb +5 -2
  317. data/spec/examples/caching.rb +1 -1
  318. data/spec/examples/css.rb +1 -1
  319. data/spec/examples/element.rb +1 -1
  320. data/spec/examples/hello.rb +1 -1
  321. data/spec/examples/linking.rb +1 -1
  322. data/spec/examples/simple.rb +1 -1
  323. data/spec/examples/simple_auth.rb +1 -1
  324. data/spec/ramaze/action/cache.rb +58 -14
  325. data/spec/ramaze/action/file_cache.rb +48 -0
  326. data/spec/ramaze/action/layout.rb +2 -2
  327. data/spec/ramaze/action/render.rb +1 -2
  328. data/spec/ramaze/action/{template → view}/bar.xhtml +0 -0
  329. data/spec/ramaze/action/{template → view}/instancevars/layout.xhtml +0 -0
  330. data/spec/ramaze/action/{template → view}/other_wrapper.xhtml +0 -0
  331. data/spec/ramaze/action/{template → view}/single_wrapper.xhtml +0 -0
  332. data/spec/ramaze/action/{template → view}/sub/sub_wrapper.xhtml +0 -0
  333. data/spec/ramaze/adapter.rb +29 -2
  334. data/spec/ramaze/adapter/ebb.rb +12 -0
  335. data/spec/ramaze/cache.rb +82 -15
  336. data/spec/ramaze/controller.rb +6 -3
  337. data/spec/ramaze/controller/actionless_templates.rb +2 -2
  338. data/spec/ramaze/controller/resolve.rb +1 -1
  339. data/spec/ramaze/controller/template_resolving.rb +4 -6
  340. data/spec/ramaze/controller/{template → view}/greet.xhtml +0 -0
  341. data/spec/ramaze/controller/{template → view}/list.xhtml +0 -0
  342. data/spec/ramaze/controller/{template → view}/other/greet/other.xhtml +0 -0
  343. data/spec/ramaze/controller/{template → view}/other_wrapper.xhtml +0 -0
  344. data/spec/ramaze/error.rb +1 -1
  345. data/spec/ramaze/helper/aspect.rb +4 -4
  346. data/spec/ramaze/helper/cache.rb +56 -39
  347. data/spec/ramaze/helper/flash.rb +14 -1
  348. data/spec/ramaze/helper/form.rb +118 -0
  349. data/spec/ramaze/helper/formatting.rb +21 -0
  350. data/spec/ramaze/helper/link.rb +2 -2
  351. data/spec/ramaze/helper/pager.rb +2 -2
  352. data/spec/ramaze/helper/partial.rb +13 -1
  353. data/spec/ramaze/helper/simple_captcha.rb +22 -0
  354. data/spec/ramaze/helper/user.rb +7 -10
  355. data/spec/ramaze/helper/{template → view}/locals.xhtml +0 -0
  356. data/spec/ramaze/helper/{template → view}/loop.xhtml +0 -0
  357. data/spec/ramaze/helper/{template → view}/num.xhtml +0 -0
  358. data/spec/ramaze/helper/{template → view}/partial.xhtml +0 -0
  359. data/spec/ramaze/helper/{template → view}/recursive.xhtml +0 -0
  360. data/spec/ramaze/helper/{template → view}/recursive_local_ivars.xhtml +0 -0
  361. data/spec/ramaze/helper/{template → view}/recursive_locals.xhtml +0 -0
  362. data/spec/ramaze/helper/{template → view}/test_template.xhtml +0 -0
  363. data/spec/ramaze/localize.rb +22 -0
  364. data/spec/ramaze/log/informer.rb +10 -10
  365. data/spec/ramaze/log/syslog.rb +1 -1
  366. data/spec/ramaze/request.rb +13 -1
  367. data/spec/ramaze/request/ebb.rb +9 -0
  368. data/spec/ramaze/rewrite.rb +36 -0
  369. data/spec/ramaze/rewrite/file.css +1 -0
  370. data/spec/ramaze/route.rb +1 -0
  371. data/spec/ramaze/template.rb +5 -5
  372. data/spec/ramaze/template/amrita2.rb +1 -1
  373. data/spec/ramaze/template/builder.rb +18 -22
  374. data/spec/ramaze/template/erubis.rb +1 -1
  375. data/spec/ramaze/template/ezamar.rb +1 -1
  376. data/spec/ramaze/template/haml.rb +2 -2
  377. data/spec/ramaze/template/liquid.rb +1 -1
  378. data/spec/ramaze/template/markaby.rb +1 -1
  379. data/spec/ramaze/template/nagoro.rb +1 -1
  380. data/spec/ramaze/template/redcloth.rb +1 -1
  381. data/spec/ramaze/template/remarkably.rb +1 -1
  382. data/spec/ramaze/template/sass.rb +1 -1
  383. data/spec/ramaze/template/tagz.rb +1 -1
  384. data/spec/ramaze/template/tenjin.rb +4 -6
  385. data/spec/ramaze/template/xslt.rb +1 -1
  386. data/spec/snippets/string/unindent.rb +6 -0
  387. data/spec/snippets/struct/values_at.rb +8 -0
  388. metadata +522 -487
  389. data/doc/ProjectInfo +0 -53
  390. data/doc/migrate/1110_to_1111.txt +0 -131
  391. data/lib/ramaze/contrib/route.rb +0 -22
  392. data/lib/ramaze/global.rb +0 -116
  393. data/lib/ramaze/global/dsl.rb +0 -39
  394. data/lib/ramaze/global/globalstruct.rb +0 -147
  395. data/lib/ramaze/helper/inform.rb +0 -40
  396. data/lib/ramaze/inform.rb +0 -4
  397. data/lib/ramaze/snippets/kernel/aquire.rb +0 -1
  398. data/lib/vendor/bacon.rb +0 -323
  399. data/rake_tasks/darcs.rake +0 -5
  400. data/spec/contrib/route.rb +0 -36
@@ -1,7 +1,7 @@
1
- Copyright (c) 2006 Michael Fellinger m.fellinger@gmail.com
1
+ Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
2
2
  All files in this distribution are subject to the terms of the Ruby license.
3
3
 
4
- = About Ramaze
4
+ # About Ramaze
5
5
 
6
6
  Ramaze is a very simple and straight-forward web-framework.
7
7
  The philosophy of it could be expressed in a mix of KISS and POLS, trying to
@@ -23,7 +23,7 @@ provides this feature at a better level without trying to enforce any structural
23
23
  layout of the resulting framework.
24
24
 
25
25
 
26
- = Features Overview
26
+ # Features Overview
27
27
 
28
28
  Ramaze offers following features at the moment:
29
29
 
@@ -175,7 +175,7 @@ Ramaze offers following features at the moment:
175
175
  * Custom sophisticated Error-handling
176
176
 
177
177
 
178
- = Basic Principles
178
+ # Basic Principles
179
179
 
180
180
  There are some basic principles that Ramaze tries to follow:
181
181
 
@@ -235,57 +235,103 @@ There are some basic principles that Ramaze tries to follow:
235
235
  deciding whether the changes the patch applies are valid and don't break the framework.
236
236
 
237
237
 
238
- = Installation
238
+ # Installation
239
239
 
240
240
  * via RubyGems
241
241
 
242
- The simplest way of installing Ramaze is via
242
+ The simplest way of installing Ramaze is via the gem.
243
243
 
244
- $ gem install ramaze
244
+ [Rubygems](http://rubygems.org) is the package manager for ruby apps and
245
+ libraries and provides you with the last tagged version of Ramaze.
245
246
 
246
- in case you have RubyGems installed.
247
+ $ gem install ramaze
247
248
 
249
+ Versions are made as we see fit and get an announcment out (usually that's
250
+ the major obstacle as there is a lot to announce).
248
251
 
249
- * via darcs
252
+ If you want to install the nightly gem of Ramaze you can do this with:
253
+
254
+ $ gem install ramaze --source=http://gem.ramaze.net/
255
+
256
+ We also use the gem building process on github, which locates gems at
257
+ http://gems.github.com - so you can get a version from there as well:
258
+
259
+ $ gem install manveru-ramaze --source=http://gems.github.com/
260
+
261
+ * via git
250
262
 
251
263
  To get the latest and sweetest, you can just pull from the repository and run
252
264
  Ramaze that way.
253
265
 
254
- $ darcs get --partial http://darcs.ramaze.net/ramaze
266
+ $ git clone git://github.com/manveru/ramaze.git
255
267
 
256
- Please read the man page or `darcs help` for more information about updating
268
+ Please read the `man git` or `git help` for more information about updating
257
269
  and creating your own patches.
258
- This is at the moment the premier way to use Ramaze, since it is the way I use
259
- it.
270
+ This is at the moment the premier way to use Ramaze, since it is the way I
271
+ use it.
272
+
273
+ Some hints for the usage of Git.
274
+
275
+ * use `require 'ramaze'` from everywhere
276
+
277
+ Simply add the path to your repository to the RUBYLIB environment variable.
278
+ If you are using bash you can simply put following line into your .bashrc:
279
+
280
+ $ export RUBYLIB="$HOME/path/to/repo/lib/"
281
+
282
+ Of course you should put the real path instead, you can also add multiple
283
+ paths, or create your personal `site_ruby`:
284
+
285
+ $ export RUBYLIB="$HOME/ruby/ramaze/lib:$HOME/.site_ruby:$HOME/ruby/bacon/lib"
286
+
287
+ * use `require 'ramaze'` systemwide from everywhere
288
+
289
+ add a file to your `site_ruby` directory named 'ramaze.rb'
290
+ the content should be: `require '/path/to/git/repo/ramaze/lib/ramaze'`
291
+
292
+ * Pull the latest version
293
+
294
+ $ git pull
295
+
296
+ * Reset the repo to original state (if you screw up something)
297
+
298
+ $ git reset --hard # resets the whole repo
299
+
300
+ * Revert changes to (for example) lib/ramaze.rb only
260
301
 
261
- Some hints for the usage of Darcs.
302
+ $ git checkout master lib/ramaze.rb
262
303
 
263
- * use require 'ramaze' from everywhere
304
+ * Add and commit all changes.
264
305
 
265
- add a file to your site_ruby named 'ramaze.rb'
266
- the content should be: "require '/path/to/darcs/repo/ramaze/lib/ramaze'"
306
+ $ git commit -a
267
307
 
268
- * get the latest version (from inside the ramaze-directory)
308
+ * Adding only specific changes.
269
309
 
270
- $ darcs pull
310
+ # Add hunks you want to commit to the staging area (index)
311
+ $ git add -p
271
312
 
272
- * record a patch
313
+ * Commit the changes into the history of your repository
273
314
 
274
- $ darcs record
315
+ # Create a commit from the hunks added
316
+ $ git commit
275
317
 
276
318
  * output your patches into a bundle ready to be mailed (compress it before
277
319
  sending to make sure it arrives in the way you sent it)
278
320
 
279
- $ darcs send -o ramaze_bundle
280
- $ gzip -c ramaze_bundle > ramaze_bundle.gz
321
+ At the end of this process you will have a tar.bz2 for all your changes
322
+ that you can mail to ramaze@googlegroups.com
281
323
 
324
+ # make sure you are on latest revision to avoid conflicts
325
+ $ git pull
282
326
 
283
- * via install.rb
327
+ # create 00xx-blah.patch files against the remote repo
328
+ $ git format-patch origin/HEAD
284
329
 
285
- Support for install.rb has been canceled and the file removed.
330
+ # From here on you can use either git-send-email or go the manual route
331
+ $ tar -cjf ramaze_bundle.tar.bz2 *.patch
286
332
 
287
333
 
288
- = Getting Started
334
+ # Getting Started
289
335
 
290
336
  Now that you have a vague idea of what you're about to get into you might just
291
337
  want to get a way to get up and running ASAP.
@@ -307,7 +353,7 @@ Some places to get started are:
307
353
 
308
354
 
309
355
 
310
- = A couple of Examples
356
+ # A couple of Examples
311
357
 
312
358
  There are some examples for your instant pleasure inside the examples-directory
313
359
  in the Ramaze-distribution.
@@ -340,16 +386,16 @@ Examples include:
340
386
  Not yet fully functional, but coming along.
341
387
 
342
388
  * examples/whywiki
343
- A basic examples of a minimalistic application, based on the Wiki of _why in
389
+ A basic examples of a minimalistic application, based on the Wiki of \_why in
344
390
  his camping-framework.
345
391
 
346
392
  * examples/templates
347
393
  examples of real usage of the templating-engines. Tries to implement the same
348
- functionality in each template_*.rb file using a different engine.
394
+ functionality in each `template_*.rb` file using a different engine.
349
395
 
350
396
 
351
397
 
352
- = How to find Help
398
+ # How to find Help
353
399
 
354
400
  For help you can:
355
401
 
@@ -358,7 +404,7 @@ For help you can:
358
404
  - Join the Mailinglist at http://ramaze.rubyforge.org
359
405
 
360
406
 
361
- = Appendix
407
+ # Appendix
362
408
 
363
409
  * Performance
364
410
  * Serving
@@ -372,7 +418,7 @@ For help you can:
372
418
  Also, using MemCache gives you high-end performance and security.
373
419
 
374
420
 
375
- = And thanks to...
421
+ # And thanks to...
376
422
 
377
423
  There is a large number of people who made Ramaze possibe by their ongoing
378
424
  efforts in the world of open source and by encouraging and helping me.
data/Rakefile CHANGED
@@ -8,23 +8,28 @@ require 'rake/clean'
8
8
  require 'rake/packagetask'
9
9
  require 'rake/gempackagetask'
10
10
  require 'rake/rdoctask'
11
- require 'fileutils'
12
- require 'time'
11
+
13
12
  require 'pp'
13
+ require 'date'
14
+ require 'time'
15
+ require 'fileutils'
16
+
14
17
  include FileUtils
15
18
 
16
19
  $:.unshift File.join(File.dirname(__FILE__), "lib")
17
20
 
18
21
  require 'ramaze/version'
19
22
  load 'rake_tasks/conf.rake'
20
- load 'rake_tasks/gem.rake'
21
23
  load 'rake_tasks/maintenance.rake'
22
24
  load 'rake_tasks/spec.rake'
23
25
  load 'rake_tasks/coverage.rake'
26
+ load 'rake_tasks/release.rake'
27
+ load 'rake_tasks/git.rake'
28
+ load 'rake_tasks/gem.rake'
24
29
 
25
- task :default => ['spec']
26
- task :test => ['spec']
27
- task :package => ['jquery']
30
+ # task :default => ['spec']
31
+ # task :test => ['spec']
32
+ # task :package => ['jquery']
28
33
 
29
34
  desc 'download latest jquery and put in /lib/proto/public/js/jquery.js'
30
35
  task :jquery do
@@ -42,35 +47,6 @@ task :jquery do
42
47
  end
43
48
  end
44
49
 
45
- desc "sanitize the code and darcs record"
46
- task :record => ['fix-end-spaces', 'add-copyright'] do
47
- sh "darcs record"
48
- end
49
-
50
- desc "create the doc/changes.xml"
51
- task 'changes-xml' do
52
- File.open('doc/changes.xml', 'w+') do |f|
53
- f.print(`darcs changes --xml`)
54
- end
55
- end
56
-
57
- desc "create the doc/changes.txt"
58
- task 'changes-text' do
59
- File.open('doc/changes.txt', 'w+') do |f|
60
- f.print(`darcs changes --human-readable`)
61
- end
62
- end
63
-
64
- desc "create both doc/changes.txt and doc/changes.xml"
65
- task :changes => ['changes-xml', 'changes-text'] do
66
- puts(`darcs changes`.split("\n").first(25))
67
- end
68
-
69
- desc "copy the doc/changes.txt to doc/CHANGELOG"
70
- task :changelog => :changes do
71
- cp 'doc/changes.txt', 'doc/CHANGELOG'
72
- end
73
-
74
50
  task :rcov_dir do
75
51
  mkdir_p 'doc/output/tools/rcov/'
76
52
  end
@@ -101,7 +77,7 @@ desc "create bzip2 and tarball"
101
77
  task :distribute => :gem do
102
78
  sh "rm -rf pkg/ramaze-#{VERS}"
103
79
  sh "mkdir -p pkg/ramaze-#{VERS}"
104
- sh "cp -r {bin,doc,lib,examples,spec,Rakefile,rake_tasks} pkg/ramaze-#{VERS}/"
80
+ sh "cp -r {bin,doc,lib,examples,spec,Rakefile,README.markdown,rake_tasks} pkg/ramaze-#{VERS}/"
105
81
 
106
82
  Dir.chdir('pkg') do |pwd|
107
83
  sh "tar -zcvf ramaze-#{VERS}.tar.gz ramaze-#{VERS}"
@@ -158,20 +134,6 @@ task 'request' do
158
134
  end
159
135
  end
160
136
 
161
- desc "runs all the testdocs (not functional yet)"
162
- task "testdoc" do
163
- require '../testdoc/lib/testdoc'
164
- Dir['lib/ramaze/helper/*.rb'].each do |file|
165
- p file
166
- begin
167
- require file
168
- TestDoc.rspec_run(file)
169
- rescue Object => ex
170
- puts ex
171
- end
172
- end
173
- end
174
-
175
137
  desc 'listing of available traits per class/module'
176
138
  task 'traits' do
177
139
  nodes = Hash.new{|h,k| h[k] = []}
@@ -193,3 +155,44 @@ task 'traits' do
193
155
  puts
194
156
  end
195
157
  end
158
+
159
+ desc "Update doc/CHANGELOG"
160
+ task 'doc/CHANGELOG' do
161
+ File.open('doc/CHANGELOG', 'w+') do |f|
162
+ f.puts `git log`
163
+ end
164
+ end
165
+
166
+ desc "#{README} to doc/README.html"
167
+ task 'doc/README.html' => [README] do
168
+ sh "maruku #{README}"
169
+ mv 'README.html', 'doc/README.html'
170
+ end
171
+
172
+ desc "Compile the #{README} from the parts of doc/readme"
173
+ task README do
174
+ require 'enumerator'
175
+
176
+ chapters = [
177
+ 'About Ramaze', 'introduction',
178
+ 'Features Overview', 'features',
179
+ 'Basic Principles', 'principles',
180
+ 'Installation', 'installing',
181
+ 'Getting Started', 'getting_started',
182
+ 'A couple of Examples', 'examples',
183
+ 'How to find Help', 'getting_help',
184
+ 'Appendix', 'appendix',
185
+ 'And thanks to...', 'thanks',
186
+ ]
187
+
188
+ File.open(README, 'w+') do |readme|
189
+ readme.puts COPYRIGHT.map{|l| l[1..-1]}, ''
190
+
191
+ chapters.each_slice(2) do |title, file|
192
+ file = File.join('doc', 'readme_chunks', "#{file}.txt")
193
+ chapter = File.read(file)
194
+ readme.puts "# #{title}", '', chapter
195
+ readme.puts '', '' unless title == chapters[-2]
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,131 @@
1
+ ====== simple ======
2
+ <code ruby>
3
+ require 'ramaze'
4
+
5
+ class MainController < Ramaze::Controller
6
+ def index
7
+ "Hello, World!"
8
+ end
9
+ end
10
+ </code>
11
+
12
+ === webrick ===
13
+ Mem usage before: 20.32MB
14
+ Time taken for tests: 7.747022 seconds
15
+ Failed requests: 0
16
+ Requests per second: 129.08 [#/sec] (mean)
17
+ Time per request: 77.470 [ms] (mean)
18
+ Time per request: 7.747 [ms] (mean, across all concurrent requests)
19
+ Mem usage after: 25.43MB
20
+
21
+ === mongrel ===
22
+ Mem usage before: 20.25MB
23
+ Time taken for tests: 2.205161 seconds
24
+ Failed requests: 0
25
+ Requests per second: 453.48 [#/sec] (mean)
26
+ Time per request: 22.052 [ms] (mean)
27
+ Time per request: 2.205 [ms] (mean, across all concurrent requests)
28
+ Mem usage after: 21.91MB
29
+
30
+ === evented_mongrel ===
31
+ Mem usage before: 22.64MB
32
+ Time taken for tests: 1.311583 seconds
33
+ Failed requests: 0
34
+ Requests per second: 762.44 [#/sec] (mean)
35
+ Time per request: 13.116 [ms] (mean)
36
+ Time per request: 1.312 [ms] (mean, across all concurrent requests)
37
+ Mem usage after: 27.03MB
38
+
39
+ ====== no_template ======
40
+ <code ruby>
41
+ require 'ramaze'
42
+
43
+ class MainController < Ramaze::Controller
44
+ engine :None
45
+
46
+ def index
47
+ "Hello, World!"
48
+ end
49
+ end
50
+ </code>
51
+
52
+ === evented_mongrel ===
53
+ Mem usage before: 22.63MB
54
+ Time taken for tests: 1.151947 seconds
55
+ Failed requests: 0
56
+ Requests per second: 868.10 [#/sec] (mean)
57
+ Time per request: 11.519 [ms] (mean)
58
+ Time per request: 1.152 [ms] (mean, across all concurrent requests)
59
+ Mem usage after: 27.11MB
60
+
61
+ ====== no_informer ======
62
+ <code ruby>
63
+ require 'ramaze'
64
+
65
+ class MainController < Ramaze::Controller
66
+ def index
67
+ "Hello, World!"
68
+ end
69
+ end
70
+
71
+ Ramaze::Inform.loggers = []
72
+ </code>
73
+
74
+ === evented_mongrel ===
75
+ Mem usage before: 22.63MB
76
+ Time taken for tests: 1.202878 seconds
77
+ Failed requests: 0
78
+ Requests per second: 831.34 [#/sec] (mean)
79
+ Time per request: 12.029 [ms] (mean)
80
+ Time per request: 1.203 [ms] (mean, across all concurrent requests)
81
+ Mem usage after: 27.07MB
82
+
83
+ ====== no_sessions ======
84
+ <code ruby>
85
+ require 'ramaze'
86
+
87
+ class MainController < Ramaze::Controller
88
+ def index
89
+ "Hello, World!"
90
+ end
91
+ end
92
+
93
+ Ramaze::Inform.loggers = []
94
+ Ramaze::Global.sessions = false
95
+ </code>
96
+
97
+ === evented_mongrel ===
98
+ Mem usage before: 22.63MB
99
+ Time taken for tests: 0.835254 seconds
100
+ Failed requests: 0
101
+ Requests per second: 1197.24 [#/sec] (mean)
102
+ Time per request: 8.353 [ms] (mean)
103
+ Time per request: 0.835 [ms] (mean, across all concurrent requests)
104
+ Mem usage after: 26.38MB
105
+
106
+ ====== minimal ======
107
+ <code ruby>
108
+ require 'ramaze'
109
+
110
+ class MainController < Ramaze::Controller
111
+ engine :None
112
+
113
+ def index
114
+ "Hello, World!"
115
+ end
116
+ end
117
+
118
+ Ramaze::Global.sourcereload = false
119
+ Ramaze::Global.sessions = false
120
+ Ramaze::Inform.loggers = []
121
+ </code>
122
+
123
+ === evented_mongrel ===
124
+ Mem usage before: 22.62MB
125
+ Time taken for tests: 0.647273 seconds
126
+ Failed requests: 0
127
+ Requests per second: 1544.94 [#/sec] (mean)
128
+ Time per request: 6.473 [ms] (mean)
129
+ Time per request: 0.647 [ms] (mean, across all concurrent requests)
130
+ Mem usage after: 26.42MB
131
+