Pistos-ramaze 2009.02 → 2009.04.08

Sign up to get free protection for your applications and to get access to all the features.
Files changed (530) hide show
  1. data/.mailmap +25 -0
  2. data/CHANGELOG +16546 -0
  3. data/MANIFEST +487 -0
  4. data/{README.md → README.markdown} +0 -5
  5. data/Rakefile +75 -242
  6. data/bin/ramaze +142 -55
  7. data/doc/AUTHORS +36 -28
  8. data/doc/FAQ +1 -1
  9. data/doc/tutorial/todolist.html +1415 -742
  10. data/doc/tutorial/todolist.txt +939 -0
  11. data/examples/app/auth/layout/auth.nag +25 -0
  12. data/examples/app/auth/start.rb +23 -0
  13. data/examples/app/auth/view/index.nag +4 -0
  14. data/examples/app/auth/view/login.nag +20 -0
  15. data/examples/app/auth/view/secret.nag +1 -0
  16. data/examples/app/blog/app.rb +69 -0
  17. data/{lib/proto/start.ru → examples/app/blog/config.ru} +8 -7
  18. data/examples/app/blog/controller/comment.rb +45 -0
  19. data/examples/app/blog/controller/entry.rb +76 -0
  20. data/examples/app/blog/controller/init.rb +86 -0
  21. data/examples/app/blog/controller/main.rb +16 -25
  22. data/examples/app/blog/controller/tag.rb +9 -0
  23. data/examples/app/blog/layout/default.nag +31 -0
  24. data/examples/app/blog/model/comment.rb +58 -0
  25. data/examples/app/blog/model/entry.rb +80 -28
  26. data/examples/app/blog/model/init.rb +10 -0
  27. data/examples/app/blog/model/tag.rb +36 -0
  28. data/examples/app/blog/public/css/screen.css +273 -0
  29. data/examples/app/blog/start.rb +3 -5
  30. data/examples/app/blog/view/comment/form.nag +10 -0
  31. data/examples/app/blog/view/comment/show.nag +16 -0
  32. data/examples/app/blog/view/entry/edit.nag +14 -0
  33. data/examples/app/blog/view/entry/feed.atom.nag +8 -0
  34. data/examples/app/blog/view/entry/feed.rss.nag +7 -0
  35. data/examples/app/blog/view/entry/index.nag +7 -0
  36. data/examples/app/blog/view/entry/new.nag +13 -0
  37. data/examples/app/blog/view/entry/show.nag +36 -0
  38. data/examples/app/blog/view/feed.atom.nag +18 -0
  39. data/examples/app/blog/view/feed.rss.nag +25 -0
  40. data/examples/app/blog/view/index.nag +6 -0
  41. data/examples/app/blog/view/tag/index.nag +5 -0
  42. data/examples/app/chat/{view/layout.xhtml → layout/default.nag} +1 -1
  43. data/examples/app/chat/model/history.rb +13 -11
  44. data/examples/app/chat/public/css/chat.css +9 -13
  45. data/examples/app/chat/public/js/chat.js +6 -0
  46. data/examples/app/chat/start.rb +16 -17
  47. data/examples/app/chat/view/{chat.xhtml → chat.nag} +0 -0
  48. data/examples/app/chat/view/{index.xhtml → index.nag} +0 -0
  49. data/examples/app/sourceview/{sourceview.rb → start.rb} +36 -34
  50. data/examples/app/sourceview/{template → view}/index.haml +0 -0
  51. data/examples/app/todolist/controller/init.rb +10 -0
  52. data/examples/app/todolist/controller/task.rb +39 -0
  53. data/examples/app/todolist/layout/default.xhtml +14 -0
  54. data/examples/app/todolist/model/init.rb +14 -0
  55. data/examples/app/todolist/model/task.rb +39 -0
  56. data/examples/app/todolist/public/css/screen.css +63 -0
  57. data/examples/app/todolist/start.rb +6 -6
  58. data/examples/app/todolist/view/index.xhtml +29 -0
  59. data/examples/basic/element.rb +5 -3
  60. data/examples/basic/gestalt.rb +1 -2
  61. data/examples/basic/hello.rb +3 -4
  62. data/examples/basic/layout.rb +2 -2
  63. data/examples/basic/linking.rb +7 -7
  64. data/examples/basic/partial.rb +3 -5
  65. data/examples/basic/simple.rb +1 -5
  66. data/examples/helpers/cache.rb +5 -5
  67. data/examples/helpers/httpdigest.rb +31 -32
  68. data/examples/misc/memleak_detector.rb +17 -12
  69. data/examples/misc/serve_directory.rb +6 -0
  70. data/examples/templates/template_erubis.rb +9 -10
  71. data/examples/templates/template_ezamar.rb +8 -7
  72. data/examples/templates/template_haml.rb +6 -7
  73. data/examples/templates/template_liquid.rb +20 -19
  74. data/examples/templates/template_markaby.rb +2 -3
  75. data/examples/templates/template_nagoro.rb +6 -7
  76. data/examples/templates/template_redcloth.rb +8 -9
  77. data/examples/templates/template_remarkably.rb +7 -8
  78. data/examples/templates/template_tenjin.rb +6 -7
  79. data/examples/templates/{template → view}/external.haml +4 -4
  80. data/examples/templates/{template → view}/external.liquid +0 -0
  81. data/examples/templates/{template → view}/external.mab +0 -0
  82. data/examples/templates/{template → view}/external.nag +4 -4
  83. data/examples/templates/{template → view}/external.redcloth +4 -4
  84. data/examples/templates/{template → view}/external.rem +4 -4
  85. data/examples/templates/{template → view}/external.rhtml +6 -6
  86. data/examples/templates/{template → view}/external.tenjin +4 -4
  87. data/examples/templates/{template → view}/external.zmr +6 -6
  88. data/lib/proto/config.ru +17 -0
  89. data/lib/proto/controller/init.rb +2 -2
  90. data/lib/proto/layout/default.xhtml +24 -0
  91. data/lib/proto/public/css/screen.css +30 -0
  92. data/lib/proto/public/js/jquery.js +2121 -1294
  93. data/lib/proto/spec/main.rb +8 -11
  94. data/lib/proto/start.rb +3 -3
  95. data/lib/proto/view/index.xhtml +34 -27
  96. data/lib/ramaze/app.rb +124 -0
  97. data/lib/ramaze/cache/localmemcache.rb +56 -0
  98. data/lib/ramaze/cache/memcache.rb +99 -0
  99. data/lib/ramaze/cache/sequel.rb +67 -0
  100. data/lib/ramaze/cache.rb +9 -104
  101. data/lib/ramaze/contrib/app_graph.rb +64 -0
  102. data/lib/ramaze/contrib/gettext/po.rb +23 -23
  103. data/lib/ramaze/contrib/gzip_filter.rb +1 -69
  104. data/lib/ramaze/contrib/rest.rb +20 -15
  105. data/lib/ramaze/contrib/sequel/relation.rb +4 -2
  106. data/lib/ramaze/controller/default.rb +12 -0
  107. data/lib/ramaze/controller.rb +63 -257
  108. data/lib/ramaze/current.rb +3 -47
  109. data/lib/ramaze/files.rb +24 -0
  110. data/lib/ramaze/gestalt.rb +6 -1
  111. data/lib/ramaze/helper/auth.rb +68 -104
  112. data/lib/ramaze/helper/bench.rb +0 -2
  113. data/lib/ramaze/helper/cache.rb +59 -122
  114. data/lib/ramaze/helper/disqus.rb +26 -0
  115. data/lib/ramaze/helper/flash.rb +32 -44
  116. data/lib/ramaze/helper/form.rb +83 -252
  117. data/lib/ramaze/helper/formatting.rb +30 -5
  118. data/lib/ramaze/helper/gestalt.rb +1 -1
  119. data/lib/ramaze/helper/gravatar.rb +66 -19
  120. data/lib/ramaze/helper/httpdigest.rb +75 -66
  121. data/lib/ramaze/helper/link.rb +62 -109
  122. data/lib/ramaze/helper/localize.rb +128 -0
  123. data/lib/ramaze/helper/markaby.rb +1 -1
  124. data/lib/ramaze/helper/maruku.rb +10 -3
  125. data/lib/ramaze/helper/pager.rb +2 -1
  126. data/lib/ramaze/helper/paginate.rb +16 -9
  127. data/lib/ramaze/helper/partial.rb +86 -91
  128. data/lib/ramaze/helper/remarkably.rb +14 -0
  129. data/lib/ramaze/helper/request_accessor.rb +16 -0
  130. data/lib/ramaze/helper/sequel_form.rb +284 -0
  131. data/lib/ramaze/helper/simple_captcha.rb +46 -16
  132. data/lib/ramaze/helper/stack.rb +64 -66
  133. data/lib/ramaze/helper/user.rb +141 -22
  134. data/lib/ramaze/helper/xhtml.rb +27 -16
  135. data/lib/ramaze/helper.rb +6 -81
  136. data/lib/ramaze/log/analogger.rb +1 -2
  137. data/lib/ramaze/log/informer.rb +1 -0
  138. data/lib/ramaze/log/logging.rb +2 -8
  139. data/lib/ramaze/log/syslog.rb +36 -36
  140. data/lib/ramaze/log.rb +19 -7
  141. data/lib/ramaze/middleware_compiler.rb +13 -0
  142. data/lib/ramaze/plugin.rb +69 -0
  143. data/lib/ramaze/reloader.rb +8 -6
  144. data/lib/ramaze/request.rb +117 -0
  145. data/lib/ramaze/{current/response.rb → response.rb} +9 -10
  146. data/lib/ramaze/setup.rb +93 -33
  147. data/lib/ramaze/snippets/ramaze/deprecated.rb +3 -1
  148. data/lib/ramaze/snippets/{dictionary.rb → ramaze/dictionary.rb} +0 -104
  149. data/lib/ramaze/snippets/ramaze/fiber.rb +5 -5
  150. data/lib/ramaze/spec/helper/bacon.rb +4 -3
  151. data/lib/ramaze/spec/helper/snippets.rb +3 -1
  152. data/lib/ramaze/spec/helper/template_examples.rb +29 -0
  153. data/lib/ramaze/spec.rb +37 -1
  154. data/lib/ramaze/tool/create.rb +1 -1
  155. data/lib/ramaze/version.rb +1 -4
  156. data/lib/ramaze/view/erubis.rb +23 -0
  157. data/lib/ramaze/view/ezamar.rb +23 -0
  158. data/lib/ramaze/view/haml.rb +15 -0
  159. data/lib/ramaze/view/liquid.rb +66 -0
  160. data/lib/ramaze/view/maruku.rb +14 -0
  161. data/lib/ramaze/view/nagoro/render_partial.rb +32 -0
  162. data/lib/ramaze/view/nagoro.rb +44 -0
  163. data/lib/ramaze/view/redcloth.rb +21 -0
  164. data/lib/ramaze/view/remarkably.rb +21 -0
  165. data/lib/ramaze/view/sass.rb +21 -0
  166. data/lib/ramaze/view/tagz.rb +63 -0
  167. data/lib/ramaze/view/tenjin.rb +29 -0
  168. data/lib/ramaze/view.rb +44 -0
  169. data/lib/ramaze.rb +76 -129
  170. data/lib/vendor/etag.rb +20 -0
  171. data/lib/vendor/route_exceptions.rb +48 -0
  172. data/ramaze.gemspec +28 -612
  173. data/spec/contrib/rest.rb +28 -0
  174. data/spec/examples/caching.rb +1 -2
  175. data/spec/examples/css.rb +1 -2
  176. data/spec/examples/element.rb +1 -2
  177. data/spec/examples/hello.rb +2 -3
  178. data/spec/examples/helpers/httpdigest.rb +89 -0
  179. data/spec/examples/linking.rb +1 -2
  180. data/spec/examples/simple.rb +1 -6
  181. data/spec/examples/templates/template_erubis.rb +3 -17
  182. data/spec/examples/templates/template_ezamar.rb +3 -18
  183. data/spec/examples/templates/template_haml.rb +3 -17
  184. data/spec/examples/templates/template_liquid.rb +3 -23
  185. data/spec/examples/templates/template_markaby.rb +6 -19
  186. data/spec/examples/templates/template_nagoro.rb +9 -0
  187. data/spec/examples/templates/template_redcloth.rb +3 -22
  188. data/spec/examples/templates/template_remarkably.rb +3 -17
  189. data/spec/examples/templates/template_tenjin.rb +3 -22
  190. data/spec/helper.rb +10 -3
  191. data/spec/ramaze/action/render.rb +5 -15
  192. data/spec/ramaze/action/view/other_wrapper.erb +1 -0
  193. data/spec/ramaze/action/view/sub/sub_wrapper.erb +1 -0
  194. data/spec/ramaze/app.rb +47 -0
  195. data/spec/ramaze/cache/localmemcache.rb +49 -0
  196. data/spec/ramaze/cache/memcache.rb +54 -0
  197. data/spec/ramaze/cache/sequel.rb +51 -0
  198. data/spec/ramaze/controller/actionless_templates.rb +14 -10
  199. data/spec/ramaze/controller/mapping.rb +57 -0
  200. data/spec/ramaze/controller/provide_inheritance.rb +47 -0
  201. data/spec/ramaze/controller/resolve.rb +7 -9
  202. data/spec/ramaze/controller/subclass.rb +13 -13
  203. data/spec/ramaze/controller/template_resolving.rb +21 -57
  204. data/spec/ramaze/dispatcher/directory.rb +38 -24
  205. data/spec/ramaze/dispatcher/file.rb +53 -44
  206. data/spec/ramaze/error.rb +56 -62
  207. data/spec/ramaze/files/public_1/plain.txt +1 -0
  208. data/spec/ramaze/files/public_2/rich.txt +1 -0
  209. data/spec/ramaze/files.rb +29 -0
  210. data/spec/ramaze/gestalt.rb +2 -4
  211. data/spec/ramaze/helper/auth.rb +53 -25
  212. data/spec/ramaze/helper/bench.rb +17 -0
  213. data/spec/ramaze/helper/cache.rb +38 -114
  214. data/spec/ramaze/helper/flash.rb +22 -110
  215. data/spec/ramaze/helper/form.rb +336 -98
  216. data/spec/ramaze/helper/formatting.rb +66 -9
  217. data/spec/ramaze/helper/gestalt.rb +15 -0
  218. data/spec/ramaze/helper/gravatar.rb +40 -0
  219. data/spec/ramaze/helper/httpdigest.rb +162 -0
  220. data/spec/ramaze/helper/link.rb +25 -100
  221. data/spec/ramaze/helper/localize.rb +60 -0
  222. data/spec/ramaze/helper/maruku.rb +19 -0
  223. data/spec/ramaze/helper/pager.rb +13 -16
  224. data/spec/ramaze/helper/paginate.rb +68 -0
  225. data/spec/ramaze/helper/partial.rb +23 -71
  226. data/spec/ramaze/helper/request_accessor.rb +19 -0
  227. data/spec/ramaze/helper/sequel_form.rb +89 -0
  228. data/spec/ramaze/helper/simple_captcha.rb +40 -13
  229. data/spec/ramaze/helper/stack.rb +56 -35
  230. data/spec/ramaze/helper/user.rb +36 -9
  231. data/spec/ramaze/helper/xhtml.rb +32 -0
  232. data/spec/ramaze/log/informer.rb +20 -19
  233. data/spec/ramaze/log/logging.rb +63 -0
  234. data/spec/ramaze/log/syslog.rb +59 -62
  235. data/spec/ramaze/params.rb +8 -11
  236. data/spec/ramaze/request.rb +45 -181
  237. data/spec/ramaze/view/erubis/external.rhtml +8 -0
  238. data/spec/ramaze/view/erubis/sum.rhtml +1 -0
  239. data/spec/ramaze/view/erubis.rb +73 -0
  240. data/spec/ramaze/view/ezamar/external.zmr +8 -0
  241. data/spec/ramaze/view/ezamar/sum.zmr +1 -0
  242. data/spec/ramaze/view/ezamar.rb +73 -0
  243. data/spec/ramaze/view/haml/external.haml +5 -0
  244. data/spec/ramaze/view/haml/sum.haml +2 -0
  245. data/spec/ramaze/view/haml.rb +86 -0
  246. data/spec/ramaze/view/liquid/external.liquid +8 -0
  247. data/spec/ramaze/view/liquid/sum.liquid +1 -0
  248. data/spec/ramaze/view/liquid.rb +73 -0
  249. data/spec/ramaze/view/nagoro/external.nag +8 -0
  250. data/spec/ramaze/view/nagoro/sum.nag +1 -0
  251. data/spec/ramaze/view/nagoro.rb +73 -0
  252. data/spec/ramaze/view/redcloth/external.redcloth +8 -0
  253. data/spec/ramaze/view/redcloth.rb +66 -0
  254. data/spec/ramaze/{template → view}/remarkably/external.rem +0 -0
  255. data/spec/ramaze/{template → view}/remarkably/sum.rem +0 -0
  256. data/spec/ramaze/view/remarkably.rb +49 -0
  257. data/spec/ramaze/{template → view}/sass/file.css.sass +0 -0
  258. data/spec/ramaze/view/sass.rb +73 -0
  259. data/spec/ramaze/{template → view}/tagz/external.tagz +0 -0
  260. data/spec/ramaze/{template → view}/tagz/sum.tagz +0 -0
  261. data/spec/ramaze/{template → view}/tagz.rb +18 -29
  262. data/spec/ramaze/view/tenjin/external.rbhtml +8 -0
  263. data/spec/ramaze/view/tenjin/sum.rbhtml +1 -0
  264. data/spec/ramaze/view/tenjin.rb +57 -0
  265. data/spec/ramaze/view.rb +36 -0
  266. data/spec/snippets/ramaze/dictionary.rb +110 -0
  267. data/spec/snippets/ramaze/struct.rb +12 -0
  268. data/spec/snippets/thread/into.rb +3 -14
  269. data/tasks/authors.rake +30 -0
  270. data/tasks/bacon.rake +66 -0
  271. data/tasks/changelog.rake +18 -0
  272. data/tasks/copyright.rake +21 -0
  273. data/tasks/gem.rake +22 -0
  274. data/tasks/gem_installer.rake +76 -0
  275. data/{rake_tasks → tasks}/git.rake +10 -5
  276. data/tasks/grancher.rake +12 -0
  277. data/tasks/install_dependencies.rake +6 -0
  278. data/tasks/jquery.rake +15 -0
  279. data/tasks/manifest.rake +4 -0
  280. data/{rake_tasks/metric.rake → tasks/metric_changes.rake} +7 -7
  281. data/tasks/rcov.rake +23 -0
  282. data/tasks/release.rake +69 -0
  283. data/tasks/reversion.rake +8 -0
  284. data/tasks/todo.rake +29 -0
  285. data/tasks/traits.rake +21 -0
  286. data/tasks/yard.rake +4 -0
  287. metadata +173 -290
  288. data/benchmark/suite/template_amrita2.rb +0 -17
  289. data/doc/readme_chunks/appendix.txt +0 -10
  290. data/doc/readme_chunks/examples.txt +0 -38
  291. data/doc/readme_chunks/features.txt +0 -148
  292. data/doc/readme_chunks/getting_help.txt +0 -5
  293. data/doc/readme_chunks/getting_started.txt +0 -18
  294. data/doc/readme_chunks/installing.txt +0 -92
  295. data/doc/readme_chunks/introduction.txt +0 -18
  296. data/doc/readme_chunks/principles.txt +0 -56
  297. data/doc/readme_chunks/thanks.txt +0 -59
  298. data/examples/app/auth/auth.rb +0 -54
  299. data/examples/app/auth/template/layout.haml +0 -20
  300. data/examples/app/auth/template/login.haml +0 -16
  301. data/examples/app/blog/public/styles/blog.css +0 -132
  302. data/examples/app/blog/view/edit.xhtml +0 -17
  303. data/examples/app/blog/view/index.xhtml +0 -17
  304. data/examples/app/blog/view/layout.xhtml +0 -11
  305. data/examples/app/blog/view/new.xhtml +0 -16
  306. data/examples/app/rapaste/Rakefile +0 -34
  307. data/examples/app/rapaste/controller/paste.rb +0 -101
  308. data/examples/app/rapaste/model/paste.rb +0 -58
  309. data/examples/app/rapaste/public/css/active4d.css +0 -114
  310. data/examples/app/rapaste/public/css/all_hallows_eve.css +0 -72
  311. data/examples/app/rapaste/public/css/amy.css +0 -147
  312. data/examples/app/rapaste/public/css/blackboard.css +0 -88
  313. data/examples/app/rapaste/public/css/brilliance_black.css +0 -605
  314. data/examples/app/rapaste/public/css/brilliance_dull.css +0 -599
  315. data/examples/app/rapaste/public/css/cobalt.css +0 -149
  316. data/examples/app/rapaste/public/css/dawn.css +0 -121
  317. data/examples/app/rapaste/public/css/display.css +0 -197
  318. data/examples/app/rapaste/public/css/eiffel.css +0 -121
  319. data/examples/app/rapaste/public/css/espresso_libre.css +0 -109
  320. data/examples/app/rapaste/public/css/idle.css +0 -62
  321. data/examples/app/rapaste/public/css/iplastic.css +0 -80
  322. data/examples/app/rapaste/public/css/lazy.css +0 -73
  323. data/examples/app/rapaste/public/css/mac_classic.css +0 -123
  324. data/examples/app/rapaste/public/css/magicwb_amiga.css +0 -104
  325. data/examples/app/rapaste/public/css/pastels_on_dark.css +0 -188
  326. data/examples/app/rapaste/public/css/slush_poppies.css +0 -85
  327. data/examples/app/rapaste/public/css/spacecadet.css +0 -51
  328. data/examples/app/rapaste/public/css/sunburst.css +0 -180
  329. data/examples/app/rapaste/public/css/twilight.css +0 -137
  330. data/examples/app/rapaste/public/css/zenburnesque.css +0 -91
  331. data/examples/app/rapaste/public/js/jquery.js +0 -11
  332. data/examples/app/rapaste/spec/rapaste.rb +0 -51
  333. data/examples/app/rapaste/start.rb +0 -25
  334. data/examples/app/rapaste/view/copy.xhtml +0 -10
  335. data/examples/app/rapaste/view/index.xhtml +0 -9
  336. data/examples/app/rapaste/view/layout.xhtml +0 -25
  337. data/examples/app/rapaste/view/list.xhtml +0 -29
  338. data/examples/app/rapaste/view/search.xhtml +0 -41
  339. data/examples/app/rapaste/view/view.xhtml +0 -40
  340. data/examples/app/todolist/README +0 -1
  341. data/examples/app/todolist/public/js/jquery.js +0 -1923
  342. data/examples/app/todolist/public/ramaze.png +0 -0
  343. data/examples/app/todolist/spec/todolist.rb +0 -132
  344. data/examples/app/todolist/src/controller/main.rb +0 -70
  345. data/examples/app/todolist/src/element/page.rb +0 -31
  346. data/examples/app/todolist/src/model.rb +0 -14
  347. data/examples/app/todolist/template/index.xhtml +0 -17
  348. data/examples/app/todolist/template/new.xhtml +0 -7
  349. data/examples/misc/simple_auth.rb +0 -35
  350. data/examples/templates/template/external.amrita +0 -19
  351. data/examples/templates/template/external.xsl +0 -57
  352. data/examples/templates/template_amrita2.rb +0 -74
  353. data/examples/templates/template_xslt.rb +0 -49
  354. data/lib/proto/public/css/ramaze_error.css +0 -90
  355. data/lib/proto/view/error.xhtml +0 -64
  356. data/lib/ramaze/action/render.rb +0 -192
  357. data/lib/ramaze/action.rb +0 -159
  358. data/lib/ramaze/adapter/base.rb +0 -128
  359. data/lib/ramaze/adapter/cgi.rb +0 -20
  360. data/lib/ramaze/adapter/ebb.rb +0 -18
  361. data/lib/ramaze/adapter/evented_mongrel.rb +0 -7
  362. data/lib/ramaze/adapter/fake.rb +0 -12
  363. data/lib/ramaze/adapter/fcgi.rb +0 -18
  364. data/lib/ramaze/adapter/lsws.rb +0 -19
  365. data/lib/ramaze/adapter/mongrel.rb +0 -21
  366. data/lib/ramaze/adapter/scgi.rb +0 -18
  367. data/lib/ramaze/adapter/swiftiplied_mongrel.rb +0 -7
  368. data/lib/ramaze/adapter/thin.rb +0 -17
  369. data/lib/ramaze/adapter/webrick.rb +0 -43
  370. data/lib/ramaze/adapter.rb +0 -97
  371. data/lib/ramaze/cache/file.rb +0 -71
  372. data/lib/ramaze/cache/memcached.rb +0 -69
  373. data/lib/ramaze/cache/memory.rb +0 -6
  374. data/lib/ramaze/cache/yaml_store.rb +0 -68
  375. data/lib/ramaze/contrib/file_cache.rb +0 -3
  376. data/lib/ramaze/contrib/gems.rb +0 -78
  377. data/lib/ramaze/contrib/sequel/fill.rb +0 -12
  378. data/lib/ramaze/contrib/sequel_cache.rb +0 -92
  379. data/lib/ramaze/contrib.rb +0 -82
  380. data/lib/ramaze/controller/error.rb +0 -46
  381. data/lib/ramaze/controller/main.rb +0 -2
  382. data/lib/ramaze/controller/resolve.rb +0 -278
  383. data/lib/ramaze/current/request.rb +0 -231
  384. data/lib/ramaze/current/session/flash.rb +0 -88
  385. data/lib/ramaze/current/session/hash.rb +0 -62
  386. data/lib/ramaze/current/session.rb +0 -179
  387. data/lib/ramaze/dispatcher/action.rb +0 -50
  388. data/lib/ramaze/dispatcher/directory.rb +0 -119
  389. data/lib/ramaze/dispatcher/error.rb +0 -108
  390. data/lib/ramaze/dispatcher/file.rb +0 -100
  391. data/lib/ramaze/dispatcher.rb +0 -145
  392. data/lib/ramaze/error.rb +0 -24
  393. data/lib/ramaze/helper/aspect.rb +0 -106
  394. data/lib/ramaze/helper/cgi.rb +0 -39
  395. data/lib/ramaze/helper/redirect.rb +0 -100
  396. data/lib/ramaze/helper/rest.rb +0 -43
  397. data/lib/ramaze/helper/sendfile.rb +0 -16
  398. data/lib/ramaze/option/dsl.rb +0 -45
  399. data/lib/ramaze/option/holder.rb +0 -131
  400. data/lib/ramaze/option/merger.rb +0 -108
  401. data/lib/ramaze/option.rb +0 -156
  402. data/lib/ramaze/route.rb +0 -97
  403. data/lib/ramaze/snippets/object/traits.rb +0 -76
  404. data/lib/ramaze/snippets/ramaze/caller_info.rb +0 -30
  405. data/lib/ramaze/snippets/ramaze/caller_lines.rb +0 -51
  406. data/lib/ramaze/snippets/ramaze/state.rb +0 -86
  407. data/lib/ramaze/spec/helper/browser.rb +0 -88
  408. data/lib/ramaze/spec/helper/mock_http.rb +0 -64
  409. data/lib/ramaze/spec/helper/requester.rb +0 -63
  410. data/lib/ramaze/spec/helper/simple_http.rb +0 -434
  411. data/lib/ramaze/spec/helper.rb +0 -135
  412. data/lib/ramaze/store/default.rb +0 -109
  413. data/lib/ramaze/template/amrita2.rb +0 -49
  414. data/lib/ramaze/template/builder.rb +0 -28
  415. data/lib/ramaze/template/erubis.rb +0 -41
  416. data/lib/ramaze/template/ezamar/element.rb +0 -169
  417. data/lib/ramaze/template/ezamar/engine.rb +0 -76
  418. data/lib/ramaze/template/ezamar/morpher.rb +0 -135
  419. data/lib/ramaze/template/ezamar/render_partial.rb +0 -39
  420. data/lib/ramaze/template/ezamar/textpow.syntax +0 -34
  421. data/lib/ramaze/template/ezamar.rb +0 -42
  422. data/lib/ramaze/template/haml.rb +0 -37
  423. data/lib/ramaze/template/liquid.rb +0 -36
  424. data/lib/ramaze/template/markaby.rb +0 -52
  425. data/lib/ramaze/template/maruku.rb +0 -34
  426. data/lib/ramaze/template/nagoro.rb +0 -52
  427. data/lib/ramaze/template/none.rb +0 -14
  428. data/lib/ramaze/template/redcloth.rb +0 -25
  429. data/lib/ramaze/template/remarkably.rb +0 -38
  430. data/lib/ramaze/template/sass.rb +0 -37
  431. data/lib/ramaze/template/tagz.rb +0 -79
  432. data/lib/ramaze/template/tenjin.rb +0 -74
  433. data/lib/ramaze/template/xslt.rb +0 -100
  434. data/lib/ramaze/template.rb +0 -87
  435. data/lib/ramaze/tool/daemonize.rb +0 -37
  436. data/lib/ramaze/tool/localize.rb +0 -202
  437. data/lib/ramaze/tool/mime.rb +0 -35
  438. data/lib/ramaze/tool/mime_types.yaml +0 -615
  439. data/lib/ramaze/tool/record.rb +0 -6
  440. data/lib/ramaze/tool.rb +0 -9
  441. data/lib/ramaze/trinity.rb +0 -16
  442. data/lib/vendor/bacon.rb +0 -323
  443. data/rake_tasks/conf.rake +0 -85
  444. data/rake_tasks/coverage.rake +0 -45
  445. data/rake_tasks/gem.rake +0 -74
  446. data/rake_tasks/maintenance.rake +0 -386
  447. data/rake_tasks/release.rake +0 -76
  448. data/rake_tasks/spec.rake +0 -61
  449. data/spec/contrib/profiling.rb +0 -29
  450. data/spec/contrib/sequel/fill.rb +0 -47
  451. data/spec/examples/simple_auth.rb +0 -32
  452. data/spec/examples/templates/template_amrita2.rb +0 -16
  453. data/spec/ramaze/action/basics.rb +0 -36
  454. data/spec/ramaze/action/cache.rb +0 -87
  455. data/spec/ramaze/action/file_cache.rb +0 -70
  456. data/spec/ramaze/action/layout.rb +0 -190
  457. data/spec/ramaze/adapter/ebb.rb +0 -12
  458. data/spec/ramaze/adapter/mongrel.rb +0 -12
  459. data/spec/ramaze/adapter/record.rb +0 -31
  460. data/spec/ramaze/adapter/webrick.rb +0 -12
  461. data/spec/ramaze/adapter.rb +0 -49
  462. data/spec/ramaze/cache.rb +0 -140
  463. data/spec/ramaze/controller.rb +0 -180
  464. data/spec/ramaze/current/request.rb +0 -30
  465. data/spec/ramaze/current/session.rb +0 -97
  466. data/spec/ramaze/dispatcher.rb +0 -31
  467. data/spec/ramaze/element.rb +0 -107
  468. data/spec/ramaze/helper/aspect.rb +0 -101
  469. data/spec/ramaze/helper/cgi.rb +0 -43
  470. data/spec/ramaze/helper/file.rb +0 -18
  471. data/spec/ramaze/helper/redirect.rb +0 -112
  472. data/spec/ramaze/localize.rb +0 -89
  473. data/spec/ramaze/morpher.rb +0 -111
  474. data/spec/ramaze/public/error404.xhtml +0 -1
  475. data/spec/ramaze/request/ebb.rb +0 -9
  476. data/spec/ramaze/request/mongrel.rb +0 -9
  477. data/spec/ramaze/request/thin.rb +0 -9
  478. data/spec/ramaze/request/webrick.rb +0 -5
  479. data/spec/ramaze/rewrite.rb +0 -36
  480. data/spec/ramaze/route.rb +0 -131
  481. data/spec/ramaze/session.rb +0 -94
  482. data/spec/ramaze/store/default.rb +0 -71
  483. data/spec/ramaze/template/amrita2/external.amrita +0 -6
  484. data/spec/ramaze/template/amrita2/sum.amrita +0 -1
  485. data/spec/ramaze/template/amrita2.rb +0 -50
  486. data/spec/ramaze/template/builder/external.rxml +0 -3
  487. data/spec/ramaze/template/builder.rb +0 -51
  488. data/spec/ramaze/template/erubis/sum.rhtml +0 -1
  489. data/spec/ramaze/template/erubis.rb +0 -41
  490. data/spec/ramaze/template/ezamar/another/long/action.zmr +0 -1
  491. data/spec/ramaze/template/ezamar/combined.zmr +0 -1
  492. data/spec/ramaze/template/ezamar/file_only.zmr +0 -1
  493. data/spec/ramaze/template/ezamar/index.zmr +0 -1
  494. data/spec/ramaze/template/ezamar/nested.zmr +0 -1
  495. data/spec/ramaze/template/ezamar/other__index.xhtml +0 -1
  496. data/spec/ramaze/template/ezamar/some__long__action.zmr +0 -1
  497. data/spec/ramaze/template/ezamar/sum.zmr +0 -1
  498. data/spec/ramaze/template/ezamar.rb +0 -63
  499. data/spec/ramaze/template/haml/index.haml +0 -5
  500. data/spec/ramaze/template/haml/locals.haml +0 -2
  501. data/spec/ramaze/template/haml/with_vars.haml +0 -4
  502. data/spec/ramaze/template/haml.rb +0 -66
  503. data/spec/ramaze/template/liquid/index.liquid +0 -1
  504. data/spec/ramaze/template/liquid/products.liquid +0 -45
  505. data/spec/ramaze/template/liquid.rb +0 -99
  506. data/spec/ramaze/template/markaby/external.mab +0 -8
  507. data/spec/ramaze/template/markaby/sum.mab +0 -1
  508. data/spec/ramaze/template/markaby.rb +0 -61
  509. data/spec/ramaze/template/nagoro/another/long/action.nag +0 -1
  510. data/spec/ramaze/template/nagoro/combined.nag +0 -1
  511. data/spec/ramaze/template/nagoro/file_only.nag +0 -1
  512. data/spec/ramaze/template/nagoro/index.nag +0 -1
  513. data/spec/ramaze/template/nagoro/nested.nag +0 -1
  514. data/spec/ramaze/template/nagoro/some__long__action.nag +0 -1
  515. data/spec/ramaze/template/nagoro/sum.nag +0 -1
  516. data/spec/ramaze/template/nagoro.rb +0 -64
  517. data/spec/ramaze/template/redcloth/external.redcloth +0 -1
  518. data/spec/ramaze/template/redcloth.rb +0 -38
  519. data/spec/ramaze/template/remarkably.rb +0 -58
  520. data/spec/ramaze/template/sass.rb +0 -69
  521. data/spec/ramaze/template/tenjin/external.tenjin +0 -1
  522. data/spec/ramaze/template/tenjin.rb +0 -47
  523. data/spec/ramaze/template/xslt/concat_words.xsl +0 -16
  524. data/spec/ramaze/template/xslt/index.xsl +0 -14
  525. data/spec/ramaze/template/xslt/products.xsl +0 -32
  526. data/spec/ramaze/template/xslt/ruby_version.xsl +0 -14
  527. data/spec/ramaze/template/xslt.rb +0 -90
  528. data/spec/ramaze/template.rb +0 -128
  529. data/spec/snippets/ramaze/caller_info.rb +0 -39
  530. data/spec/snippets/ramaze/caller_lines.rb +0 -30
data/Rakefile CHANGED
@@ -1,248 +1,81 @@
1
- begin
2
- require 'rubygems'
3
- rescue LoadError
4
- end
1
+ begin; require 'rubygems'; rescue LoadError; end
5
2
 
6
3
  require 'rake'
7
4
  require 'rake/clean'
8
- require 'rake/packagetask'
9
5
  require 'rake/gempackagetask'
10
- require 'rake/rdoctask'
11
-
12
- require 'pp'
13
- require 'date'
14
6
  require 'time'
15
- require 'fileutils'
16
-
17
- include FileUtils
18
-
19
- $:.unshift File.join(File.dirname(__FILE__), "lib")
20
-
21
- require 'ramaze/version'
22
- load 'rake_tasks/conf.rake'
23
- load 'rake_tasks/maintenance.rake'
24
- load 'rake_tasks/spec.rake'
25
- load 'rake_tasks/coverage.rake'
26
- load 'rake_tasks/release.rake'
27
- load 'rake_tasks/git.rake'
28
- load 'rake_tasks/gem.rake'
29
- load 'rake_tasks/metric.rake'
30
-
31
- task :default => ['spec']
32
- task :test => ['spec']
33
- # task :package => ['jquery']
34
-
35
- desc 'download latest jquery and put in /lib/proto/public/js/jquery.js'
36
- task :jquery do
37
- require 'open-uri'
38
- $stdout.sync = true
39
-
40
- File.open('lib/proto/public/js/jquery.js', 'w+') do |jquery|
41
- remote = open('http://code.jquery.com/jquery-latest.js')
42
- print "openend remote side, copying..."
43
- while chunk = remote.read(4096)
44
- print '.'
45
- jquery.write(chunk)
46
- end
47
- puts " done."
48
- end
49
- end
50
-
51
- desc 'Check gemspec file list against real file list'
52
- task :check_gemspec do
53
- base_dir = File.expand_path(File.dirname(__FILE__))
54
- gemspec_files = eval(File.read(File.join(base_dir,'ramaze.gemspec'))).files.map{|file|File.join(base_dir,file)}
55
-
56
- deleted_files = gemspec_files.select{|file|!File.exists?(file)}.map{|file|file[(base_dir.size+1)..-1]}
57
-
58
- added_files = Dir.glob(File.join(File.dirname(__FILE__),'**/*')).select do |file|
59
- !gemspec_files.index(file)
60
- end.map do |file|
61
- file[(base_dir.size+1)..-1]
62
- end.select do |file|
63
- !( file == 'pkg' or file =~ /.*\.gem/ )
64
- end
65
-
66
- unless deleted_files.empty?
67
- puts "The following files appear in the gemspec but cannot be found:"
68
- deleted_files.each do |file|
69
- puts "\t#{file}"
70
- end
71
- end
72
- unless added_files.empty?
73
- puts "The following files exist, but cannot be found in the gemspec:"
74
- added_files.each do |file|
75
- puts "\t#{file}"
76
- end
77
- end
78
- end
79
-
80
- task :rcov_dir do
81
- mkdir_p 'doc/output/tools/rcov/'
82
- end
83
-
84
- desc "Generate HTML coverage report"
85
- task :rcov_summary => :rcov_dir do
86
- `rcov --version`
87
- raise LoadError, "Please `gem install rcov` first" if $?.exitstatus == 127
88
- raise "Run `rake coverage` to generate coverage data first" unless File.exists? 'coverage.data'
89
- sh "rcov --aggregate coverage.data -o doc/output/tools/rcov/"
90
- end
91
-
92
- desc "generate rdoc"
93
- task :rdoc => [:clean] do
94
- sh "rdoc #{(RDOC_OPTS + RDOC_FILES).join(' ')}"
95
- end
96
-
97
- desc "generate improved allison-rdoc"
98
- task :allison => :clean do
99
- opts = RDOC_OPTS
100
- path = `allison --path`.strip
101
- raise LoadError, "Please `gem install allison` first" if $?.exitstatus == 127
102
- opts << %W[--template '#{path}']
103
- sh "rdoc #{(RDOC_OPTS + RDOC_FILES).join(' ')}"
104
- end
105
-
106
- desc "create bzip2 and tarball"
107
- task :distribute => :gem do
108
- sh "rm -rf pkg/ramaze-#{VERS}"
109
- sh "mkdir -p pkg/ramaze-#{VERS}"
110
- sh "cp -r {bin,doc,lib,examples,spec,Rakefile,README.md,rake_tasks} pkg/ramaze-#{VERS}/"
111
-
112
- Dir.chdir('pkg') do |pwd|
113
- sh "tar -zcvf ramaze-#{VERS}.tar.gz ramaze-#{VERS}"
114
- sh "tar -jcvf ramaze-#{VERS}.tar.bz2 ramaze-#{VERS}"
115
- end
116
-
117
- sh "rm -rf pkg/ramaze-#{VERS}"
118
- end
119
-
120
- desc "show a todolist from all the TODO tags in the source"
121
- task :todo do
122
- files = Dir[File.join(BASEDIR, '{lib,spec}', '**/*.rb')]
123
-
124
- files.each do |file|
125
- lastline = todo = comment = long_comment = false
126
-
127
- File.readlines(file).each_with_index do |line, lineno|
128
- lineno += 1
129
- comment = line =~ /^\s*?#.*?$/
130
- long_comment = line =~ /^=begin/
131
- long_comment = line =~ /^=end/
132
- todo = true if line =~ /TODO/ and (long_comment or comment)
133
- todo = false if line.gsub('#', '').strip.empty?
134
- todo = false unless comment or long_comment
135
- if todo
136
- unless lastline and lastline + 1 == lineno
137
- puts
138
- puts "vim #{file} +#{lineno}"
139
- end
140
-
141
- l = line.strip.gsub(/^#\s*/, '')
142
- print ' ' unless l =~ /^-/
143
- puts l
144
- lastline = lineno
145
- end
146
- end
147
- end
148
- end
149
-
150
- desc "opens a simple readline that makes making requests easier"
151
- task 'request' do
152
- ARGV.clear
153
- require 'open-uri'
154
- require 'pp'
155
-
156
- loop do
157
- print 'do request? [enter] '
158
- gets
159
- begin
160
- pp open('http://localhost:7000/xxx').read
161
- rescue Object => ex
162
- puts ex
163
- end
164
- end
165
- end
166
-
167
- desc 'listing of available traits per class/module'
168
- task 'traits' do
169
- nodes = Hash.new{|h,k| h[k] = []}
170
- Dir['lib/**/*.rb'].each do |file|
171
- content = File.read(file)
172
- traits = content.grep(/^\s*trait\s*:/)
173
- traits.each do |trait|
174
- space = content[0..content.index(trait)].scan(/^\s*(?:class|module)\s+(.*)$/)
175
- space = space.flatten.join('::')
176
- nodes[space] << trait.strip
177
- end
178
- end
179
-
180
- nodes.each do |space, traits|
181
- puts space
182
- traits.each do |trait|
183
- print ' ', trait, "\n"
184
- end
185
- puts
186
- end
187
- end
188
-
189
- desc "Update doc/CHANGELOG"
190
- task 'doc/CHANGELOG' do
191
- File.open('doc/CHANGELOG', 'w+') do |f|
192
- f.puts `git log`
193
- end
194
- end
195
-
196
- desc "#{README} to doc/README.html"
197
- task 'doc/README.html' => [README] do
198
- sh "maruku #{README}"
199
- mv 'README.html', 'doc/README.html'
200
- end
201
-
202
- desc "Compile the #{README} from the parts of doc/readme"
203
- task README do
204
- require 'enumerator'
205
-
206
- chapters = [
207
- 'About Ramaze', 'introduction',
208
- 'Features Overview', 'features',
209
- 'Basic Principles', 'principles',
210
- 'Installation', 'installing',
211
- 'Getting Started', 'getting_started',
212
- 'A couple of Examples', 'examples',
213
- 'How to find Help', 'getting_help',
214
- 'Appendix', 'appendix',
215
- 'And thanks to...', 'thanks',
216
- ]
217
-
218
- File.open(README, 'w+') do |readme|
219
- readme.puts COPYRIGHT.map{|l| l[1..-1]}, ''
220
-
221
- chapters.each_slice(2) do |title, file|
222
- file = File.join('doc', 'readme_chunks', "#{file}.txt")
223
- chapter = File.read(file)
224
- readme.puts "# #{title}", '', chapter
225
- readme.puts '', '' unless title == chapters[-2]
226
- end
227
- end
228
- end
229
-
230
- desc 'Generate YARD documentation'
231
- task :ydoc do
232
- sh('yardoc -o ydoc -r README.md')
233
- end
234
-
235
- task :publish => [:ydoc]
236
-
237
- begin
238
- require 'grancher/task'
7
+ require 'date'
239
8
 
240
- Grancher::Task.new do |g|
241
- g.branch = 'gh-pages'
242
- # g.push_to = 'origin'
243
- g.message = 'Updated website'
244
- g.directory 'ydoc', '.'
245
- end
246
- rescue LoadError
247
- # oh well :)
248
- end
9
+ PROJECT_SPECS = Dir['spec/{contrib,examples,ramaze,snippets}/**/*.rb']
10
+ PROJECT_MODULE = 'Ramaze'
11
+ PROJECT_JQUERY_FILE = 'lib/proto/public/js/jquery.js'
12
+ PROJECT_README = 'README.markdown'
13
+ PROJECT_RUBYFORGE_GROUP_ID = 3034
14
+ PROJECT_COPYRIGHT = [
15
+ "# Copyright (c) #{Time.now.year} Michael Fellinger m.fellinger@gmail.com",
16
+ "# All files in this distribution are subject to the terms of the Ruby license."
17
+ ]
18
+
19
+ # To release the monthly version do:
20
+ # $ PROJECT_VERSION=2009.03 rake release
21
+
22
+ GEMSPEC = Gem::Specification.new{|s|
23
+ s.name = 'ramaze'
24
+ s.author = "Michael 'manveru' Fellinger"
25
+ s.summary = "Ramaze is a simple and modular web framework"
26
+ s.description = s.summary
27
+ s.email = 'm.fellinger@gmail.com'
28
+ s.homepage = 'http://github.com/manveru/org'
29
+ s.platform = Gem::Platform::RUBY
30
+ s.version = (ENV['PROJECT_VERSION'] || Date.today.strftime("%Y.%m.%d"))
31
+ s.files = `git ls-files`.split("\n").sort
32
+ s.has_rdoc = true
33
+ s.require_path = 'lib'
34
+ s.bindir = "bin"
35
+ s.executables = ["ramaze"]
36
+ s.rubyforge_project = "ramaze"
37
+
38
+ # s.add_dependency('rack', '>= 0.9.9') # lies!
39
+ # s.add_dependency('manveru-innate', '>= 2009.04')
40
+
41
+ # s.add_development_dependency('rack-test', '>=0.1.0')
42
+ # s.add_development_dependency('json', '>=1.1.3')
43
+ # s.add_development_dependency('erubis', '>=2.6.4')
44
+ # s.add_development_dependency('ezamar')
45
+ # s.add_development_dependency('haml', '~>2.0.9')
46
+ # s.add_development_dependency('hpricot', '>=0.7')
47
+ # s.add_development_dependency('liquid', '~>2.0.0')
48
+ # s.add_development_dependency('memcache', '~>1.7.0')
49
+ # s.add_development_dependency('nagoro')
50
+ # s.add_development_dependency('Remarkably', '~>0.5.2')
51
+ # s.add_development_dependency('sequel', '>=2.11.0')
52
+ # s.add_development_dependency('tagz', '>=5.0.1')
53
+ # s.add_development_dependency('tenjin', '~>0.6.1')
54
+
55
+ s.post_install_message = <<MESSAGE.strip
56
+ ============================================================
57
+
58
+ Thank you for installing Ramaze!
59
+ You can now do create a new project:
60
+ # ramaze --create yourproject
61
+
62
+ ============================================================
63
+ MESSAGE
64
+ }
65
+
66
+ Dir['tasks/*.rake'].each{|f| import(f) }
67
+
68
+ task :default => [:bacon]
69
+
70
+ CLEAN.include %w[
71
+ **/.*.sw?
72
+ *.gem
73
+ .config
74
+ **/*~
75
+ **/{data.db,cache.yaml}
76
+ *.yaml
77
+ pkg
78
+ rdoc
79
+ ydoc
80
+ *coverage*
81
+ ]
data/bin/ramaze CHANGED
@@ -1,80 +1,167 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- begin
4
- $:.unshift File.join(File.dirname(__FILE__), '../lib')
5
- require 'ramaze'
6
- rescue LoadError
7
- $:.shift
8
-
3
+ def include_ramaze
9
4
  begin
10
- require 'rubygems'
5
+ $:.unshift File.join(File.dirname(__FILE__), '/../lib')
6
+ require 'ramaze'
11
7
  rescue LoadError
8
+ $:.shift
9
+
10
+ begin
11
+ require 'rubygems'
12
+ rescue LoadError
13
+ end
14
+ require 'ramaze'
12
15
  end
13
- require 'ramaze'
14
16
  end
15
17
 
16
- additions = lambda do |op|
17
- op.separator ''
18
- op.separator 'Specialized options:'
18
+ def usage
19
+ <<-TXT
20
+ Usage:
19
21
 
20
- op.on('--create PROJECT', 'New application from proto') do |project_name|
21
- require 'ramaze/tool/create'
22
- Ramaze::Tool::Create.create(project_name)
23
- exit
24
- end
22
+ ramaze <start [PIDFILE]|stop [PIDFILE]|restart [PIDFILE]|create PROJECT|console> [ruby/rack options]
25
23
 
26
- op.on('-i', '--instant', "Start up with bare-bones Controller") do |instant|
27
- require 'ramaze/controller/main'
28
- end
24
+ Commands:
25
+ start - Starts an instance of this application. Supply a pidfile name if you do
26
+ not want it to use the default (PROJECT.pid).
29
27
 
30
- op.on('-e', '--execute STRING', String, "Execute string instead of a start.rb.") do |execute|
31
- eval execute
32
- end
33
- end
28
+ stop - Stops a running instance of this application. Supply a pidfile name if you
29
+ started it with a pidfile other than the default (PROJECT.pid).
30
+
31
+ restart - Stops running instance of this application, then starts it back up. Pidfile
32
+ (if supplied) is used for both stop and start.
34
33
 
35
- runner = ARGV.reverse.find{|arg| File.file?(arg) }
36
- runner ||= 'start.rb' if File.file?('start.rb')
34
+ create - Creates a new prototype Ramaze application in a directory named PROJECT in
35
+ the current directory. ramaze create foo would make ./foo containing an
36
+ application prototype. Rack options are meaningless here.
37
37
 
38
- if runner
39
- overlay = {
40
- :root => File.dirname(runner),
41
- :runner => runner, :origin => :console,
42
- }
38
+ console - Starts an irb console with app.rb (and irb completion) loaded. This command
39
+ ignores rack options.
43
40
 
44
- [overlay, ENV, ARGV].each do |opt|
45
- Ramaze::Global.merge!(opt, &additions)
41
+ Rack Options
42
+ #{%x{rackup --help}.split("\n").reject { |line| line.match(/^Usage:/) }.join("\n\t")}
43
+ TXT
44
+ end
45
+
46
+ ## Methods for commands {{{
47
+ def start
48
+ # Find the name of this app
49
+ app_name = default_pidfile.sub(/\.pid$/,'')
50
+ if daemonize = OURARGS.detect { |arg| arg.match(/^(-[dD]|--daemonize)$/) }
51
+ if pid_arg = OURARGS.detect { |arg| arg.match(/^(-P|--pid)/) }
52
+ puts "User supplied pid: #{pid_arg}"
53
+ pid_file = OURARGS[OURARGS.index(pid_arg) + 1]
54
+ puts "Starting daemon with user defined pidfile: #{pid_file}"
55
+ exec("rackup", "config.ru", *ARGV)
56
+ else
57
+ puts "Starting daemon with default pidfile: #{default_pidfile}"
58
+ exec("rackup", "config.ru", "-P", default_pidfile, *ARGV)
59
+ end
60
+ else
61
+ exec("rackup", "config.ru", *ARGV)
46
62
  end
63
+ end
47
64
 
48
- runner = File.expand_path(runner)
49
-
50
- console = Ramaze::Global.console
65
+ def create(command)
66
+ project_name = OURARGS[OURARGS.index(command) + 1]
67
+ if project_name.nil?
68
+ $stderr.puts "Must supply a project name" if project_name.nil?
69
+ puts usage
70
+ exit 1
71
+ end
72
+ opts = {}
73
+ if OURARGS.detect { |arg| arg.match(/^(--force)/) }
74
+ puts "Overwriting any existing files as requested."
75
+ opts[:force] = true
76
+ end
77
+ if OURARGS.detect { |arg| arg.match(/^(--amend)/) }
78
+ puts "Only amending missing files as requested."
79
+ opts[:amend] = true
80
+ end
81
+ include_ramaze
82
+ require 'ramaze/tool/create'
83
+ Ramaze::Tool::Create.create(project_name, opts)
84
+ end
51
85
 
52
- if console
53
- ARGV.clear #Avoid passing args to IRB
86
+ def stop(command)
87
+ return false unless pid_file = find_pid(command)
88
+ pid = File.read(pid_file).to_i
89
+ puts "Killing pid #{pid}"
90
+ Process.kill("INT", pid)
91
+ sleep 1
92
+ begin
93
+ Process.getpriority(Process::PRIO_PROCESS, pid)
94
+ $stdout.puts "Process #{pid} did not die, forcing it with -9"
95
+ Process.kill(9, pid)
96
+ File.unlink(pid_file) if File.file?(pid_file)
97
+ true
98
+ rescue Errno::ESRCH
99
+ File.unlink(pid_file) if File.file?(pid_file)
100
+ true
101
+ end
102
+ end
54
103
 
55
- Ramaze.trait[:started] = true
56
- require runner
104
+ ## End Command methods }}}
57
105
 
58
- require 'irb'
59
- require 'irb/completion'
106
+ # Helper methods {{{
107
+ def default_pidfile
108
+ return @default_pidfile if @default_pidfile
109
+ @default_pidfile = (File.basename(File.expand_path(ENV["PWD"])) + ".pid").strip
110
+ @default_pidfile
111
+ end
60
112
 
61
- ENV['IRBRC'] = ".irbrc" if File.exists? ".irbrc"
62
- Ramaze.start! :run_loose => true
63
- IRB.start
64
- Ramaze.shutdown
113
+ def find_pid(command)
114
+ pid_file = OURARGS[OURARGS.index(command) + 1]
115
+ if pid_file.nil? or not File.file?(pid_file)
116
+ pid_file = default_pidfile
117
+ end
118
+ unless File.file?(pid_file)
119
+ $stderr.puts "Could not find running process id."
120
+ return false
65
121
  end
66
-
67
- daemonize = Ramaze::Global.daemonize
122
+ pid_file
123
+ end
124
+
125
+ ## End helper methods }}}
126
+
127
+ OURARGS = ARGV.dup
128
+ command = ARGV.detect { |arg| arg.match(/^(?:--?)?(?:start|stop|restart|create|h(?:elp)?|v(?:ersion)?|console)/) }
129
+ if command.nil?
130
+ command = ""
131
+ else
132
+ ARGV.delete(command)
133
+ end
68
134
 
69
- unless daemonize.empty?
70
- require 'ramaze/tool/daemonize'
71
- Ramaze::daemonize(runner, daemonize)
135
+ case command
136
+ when /^(?:--?)?restart$/
137
+ stop(command)
138
+ start
139
+ when /^(?:--?)?start$/
140
+ start
141
+ when /^(?:--?)?create$/
142
+ create(command)
143
+ when /^(?:--?)?stop$/
144
+ if stop(command)
145
+ puts "Ramazement has ended, go in peace"
146
+ $stdout.flush
72
147
  else
73
- Ramaze.trait[:started] = true
74
- require runner
75
- Ramaze.start!
148
+ puts "Ramaze failed to stop (or was not running)"
76
149
  end
150
+ when /^(?:--?)?console$/
151
+ exec("irb", "-r", "irb/completion", "-r", "app", *ARGV)
152
+ when /^(?:--?)?h(elp)?$/
153
+ puts usage
154
+ when /^(?:--?)?v(ersion)?$/
155
+ include_ramaze
156
+ puts Ramaze::VERSION
157
+ exit
158
+ when /^$/
159
+ puts "Must supply a valid command"
160
+ puts usage
161
+ exit 1
77
162
  else
78
- Ramaze::Global.merge!(ARGV, &additions)
79
- puts Ramaze::Global.option_parser(&additions)
163
+ puts "#{command} not implemented"
164
+ puts usage
165
+ exit 1
80
166
  end
167
+
data/doc/AUTHORS CHANGED
@@ -1,29 +1,37 @@
1
- Following persons (in alphabetical order) have contributed to Ramaze:
2
-
3
- Aman Gupta : aman@ramaze.net
4
- Andy Smith : andy@tinnedfruit.org
5
- Ara T. Howard : ara.t.howard@gmail.com
6
- Carlo Zottmann : carlo@zottmann.org
7
- Chris Duncan : celldee@gmail.com
8
- Christian Neukirchen : chneukirchen@gmail.com
9
- Clive Crous : clive@crous.co.za
10
- Colin Shea : comp.lang.zenix+ramaze@gmail.com
11
- Fabian Buch : fabian.buch@fabian-buch.de
12
- Gabriele Renzi : rff.rff@gmail.com
13
- James Tucker : raggi@mbk.local
14
- Jeremy Evans : code@jeremyevans.net
15
- Joe Holt : joe07734@gmail.com
16
- Jonathan Buch : john@oxyliquit.de
17
- Keita Yamaguchi : keita.yamaguchi@gmail.com
18
- Lars Olsson : lasso@lassoweb.se
19
- Leo Borisenko : leo.borisenko@gmail.com
20
- Martin Hilbig : blueonyx@dev-area.net
21
- Michael Fellinger : m.fellinger@gmail.com
22
- Pistos : jesuswasramazing.10.pistos@geoshell.com
23
- Richard Outten : outtenr@gmail.com
24
- Ryan Grove : ryan@wonko.com
25
- Stephan Maka : stephan@spaceboyz.net
26
- Thomas Leitner : thomas.leitner@gmail.com
27
- samcarr : samcarr@gmail.com
28
- skaar : skaar@waste.org
1
+ Following persons have contributed to ramaze.
2
+ (Sorted by number of submitted patches, then alphabetically)
29
3
 
4
+ 2394 Michael Fellinger <m.fellinger@gmail.com>
5
+ 215 Aman Gupta <aman@ramaze.net>
6
+ 87 Jonathan Buch <john@oxyliquit.de>
7
+ 62 Clive Crous <clive@crous.co.za>
8
+ 27 Keita Yamaguchi <keita.yamaguchi@gmail.com>
9
+ 17 Ryan Grove <ryan@wonko.com>
10
+ 11 Pistos <gitsomegrace.5.pistos@geoshell.com>
11
+ 11 Wang, Jinjing <nfjinjing@gmail.com>
12
+ 6 Aki Reijonen <aki.reijonen@gmail.com>
13
+ 6 Sam Carr <samcarr@gmail.com>
14
+ 5 Tadahiko Uehara <kikofx@gmail.com>
15
+ 4 James Tucker <jftucker@gmail.com>
16
+ 3 Chris Duncan <celldee@gmail.com>
17
+ 3 Clinton R. Nixon <clinton.nixon@viget.com>
18
+ 2 Andrew Farmer <xichekolas@gmail.com>
19
+ 2 Jonathan Buch <jonathan.buch@gmail.com>
20
+ 2 Lars Olsson <lasso@lassoweb.se>
21
+ 2 Riku Raisaenen <riku@helloit.fi>
22
+ 1 Andreas Karlsson <andreas@proxel.se>
23
+ 1 Ara T. Howard <ara.t.howard@gmail.com>
24
+ 1 Carlo Zottmann <carlo@zottmann.org>
25
+ 1 Cheah Chu Yeow <chuyeow@gmail.com>
26
+ 1 Christian Neukirchen <chneukirchen@gmail.com>
27
+ 1 Colin Shea <colin@centuar.(none)>
28
+ 1 Fabian Buch <fabian.buch@fabian-buch.de>
29
+ 1 Gavin Kistner <gavin@phrogz.net>
30
+ 1 Jean-Francois Chevrette <jfchevrette@iweb.ca>
31
+ 1 Jeremy Evans <code@jeremyevans.net>
32
+ 1 Martin Hilbig <blueonyx@dev-area.net>
33
+ 1 Matt Rubens <mrubens@goldencookie.localdomain>
34
+ 1 Rob Lievaart <rob@rebeltechnologies.nl>
35
+ 1 Thomas Leitner <thomas.leitner@gmail.com>
36
+ 1 Vincent Roy <VincentRoy8@gmail.com>
37
+ 1 Yasushi Abe <yasushi.abe@gmail.com>
data/doc/FAQ CHANGED
@@ -70,7 +70,7 @@ always change the whole framework to fit your needs.
70
70
  - View
71
71
 
72
72
  Ramaze offers a plethora of Templating-engines that you can use in your
73
- View, including Amrita2, Erubis (ERB), HAML, Liquid, Remarkably, Markaby and
73
+ View, including Erubis (ERB), HAML, Liquid, Remarkably, Markaby and
74
74
  the default, called Ezamar.
75
75
 
76
76
  The View in Ramaze is tightly coupled with the Controller, that means that