ramaze 0.3.9.1 → 2023.01.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 (781) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/README.md +125 -0
  4. data/Rakefile +13 -186
  5. data/bin/ramaze +4 -149
  6. data/examples/app/auth/layout/auth.xhtml +25 -0
  7. data/examples/app/auth/start.rb +25 -0
  8. data/examples/app/auth/view/index.xhtml +4 -0
  9. data/examples/app/auth/view/login.xhtml +20 -0
  10. data/examples/app/auth/view/secret.xhtml +1 -0
  11. data/examples/app/blog/app.rb +23 -0
  12. data/examples/app/blog/config.ru +19 -0
  13. data/examples/app/blog/controller/init.rb +30 -0
  14. data/examples/app/blog/controller/posts.rb +223 -0
  15. data/examples/app/blog/controller/users.rb +152 -0
  16. data/examples/app/blog/layout/default.xhtml +61 -0
  17. data/examples/app/blog/migrations/01_create_schema.rb +50 -0
  18. data/examples/app/blog/model/comment.rb +42 -0
  19. data/examples/app/blog/model/init.rb +44 -0
  20. data/examples/app/blog/model/post.rb +33 -0
  21. data/examples/app/blog/model/user.rb +100 -0
  22. data/examples/app/blog/public/css/grid.css +107 -0
  23. data/examples/app/blog/public/css/layout.css +203 -0
  24. data/examples/app/blog/public/css/reset.css +123 -0
  25. data/examples/app/blog/public/css/text.css +109 -0
  26. data/examples/app/blog/public/dispatch.fcgi +11 -0
  27. data/examples/app/blog/public/favicon.ico +0 -0
  28. data/examples/app/blog/public/images/bg.png +0 -0
  29. data/examples/app/blog/start.rb +20 -0
  30. data/examples/app/blog/view/feed.xhtml +23 -0
  31. data/examples/app/blog/view/form.xhtml +11 -0
  32. data/examples/app/blog/view/index.xhtml +44 -0
  33. data/examples/app/blog/view/users/form.xhtml +12 -0
  34. data/examples/app/blog/view/users/index.xhtml +30 -0
  35. data/examples/app/blog/view/users/login.xhtml +8 -0
  36. data/examples/app/blog/view/view.xhtml +68 -0
  37. data/examples/app/chat/layout/default.xhtml +13 -0
  38. data/examples/app/chat/model/history.rb +38 -0
  39. data/examples/app/chat/model/message.rb +7 -0
  40. data/examples/app/chat/public/css/chat.css +9 -0
  41. data/examples/app/chat/public/js/chat.js +28 -0
  42. data/{lib/proto → examples/app/chat}/public/js/jquery.js +75 -15
  43. data/examples/app/chat/start.rb +39 -0
  44. data/examples/app/chat/view/chat.xhtml +9 -0
  45. data/examples/app/chat/view/index.xhtml +7 -0
  46. data/examples/app/localization/locale/de.yaml +5 -0
  47. data/examples/app/localization/locale/en.yaml +5 -0
  48. data/examples/app/localization/locale/ja.yaml +5 -0
  49. data/examples/app/localization/start.rb +48 -0
  50. data/examples/app/todolist/controller/init.rb +11 -0
  51. data/examples/app/todolist/controller/task.rb +39 -0
  52. data/examples/app/todolist/layout/default.xhtml +14 -0
  53. data/examples/app/todolist/model/init.rb +14 -0
  54. data/examples/app/todolist/model/task.rb +39 -0
  55. data/examples/app/todolist/public/css/screen.css +63 -0
  56. data/examples/app/todolist/start.rb +7 -0
  57. data/examples/app/todolist/view/index.xhtml +29 -0
  58. data/examples/{upload → app/upload}/start.rb +7 -3
  59. data/examples/app/whywiki/spec/whywiki.rb +56 -0
  60. data/examples/{whywiki → app/whywiki}/start.rb +10 -9
  61. data/examples/{whywiki/template → app/whywiki/view}/edit.xhtml +2 -2
  62. data/examples/app/whywiki/view/show.xhtml +20 -0
  63. data/examples/{wikore → app/wikore}/spec/wikore.rb +7 -9
  64. data/examples/{wikore → app/wikore}/src/controller.rb +9 -11
  65. data/examples/{wikore → app/wikore}/src/model.rb +11 -13
  66. data/examples/app/wikore/start.rb +9 -0
  67. data/examples/{wiktacular/template/html_layout.xhtml → app/wiktacular/layout/application.xhtml} +1 -1
  68. data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_19-21-12.mkd +1 -1
  69. data/examples/app/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +2 -0
  70. data/examples/app/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +2 -0
  71. data/examples/app/wiktacular/mkd/main/current.mkd +2 -0
  72. data/examples/{wiktacular → app/wiktacular}/mkd/markdown/current.mkd +2 -2
  73. data/examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +2 -0
  74. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-20_19-43-50.mkd +2 -2
  75. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-01.mkd +11 -11
  76. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-46-32.mkd +12 -12
  77. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-08.mkd +16 -16
  78. data/examples/{wiktacular → app/wiktacular}/mkd/testing/2007-07-21_18-47-54.mkd +16 -16
  79. data/examples/{wiktacular → app/wiktacular}/mkd/testing/current.mkd +16 -16
  80. data/examples/{wiktacular → app/wiktacular}/spec/wiktacular.rb +39 -40
  81. data/examples/{wiktacular → app/wiktacular}/src/controller.rb +18 -18
  82. data/examples/{wiktacular → app/wiktacular}/src/model.rb +30 -14
  83. data/examples/{wiktacular → app/wiktacular}/start.rb +1 -1
  84. data/examples/{wiktacular/template → app/wiktacular/view}/edit.xhtml +2 -2
  85. data/examples/{wiktacular/template → app/wiktacular/view}/new.xhtml +1 -1
  86. data/examples/{element.rb → basic/element.rb} +5 -3
  87. data/examples/basic/gestalt.rb +26 -0
  88. data/examples/basic/hello.rb +14 -0
  89. data/examples/{layout.rb → basic/layout.rb} +2 -2
  90. data/examples/basic/linking.rb +29 -0
  91. data/examples/basic/partial.rb +26 -0
  92. data/examples/{simple.rb → basic/simple.rb} +9 -12
  93. data/examples/{caching.rb → helpers/cache.rb} +9 -7
  94. data/examples/helpers/paginate.rb +71 -0
  95. data/examples/helpers/rest.rb +28 -0
  96. data/examples/helpers/simple_captcha.rb +29 -0
  97. data/examples/{css.rb → misc/css.rb} +6 -12
  98. data/examples/misc/memleak_detector.rb +37 -0
  99. data/examples/misc/nagoro_element.rb +43 -0
  100. data/examples/{ramaise.rb → misc/ramaise.rb} +2 -2
  101. data/examples/misc/rapp.rb +56 -0
  102. data/examples/misc/sequel_scaffolding.rb +45 -0
  103. data/examples/misc/serve_directory.rb +6 -0
  104. data/examples/templates/template_erubis.rb +9 -10
  105. data/examples/templates/template_ezamar.rb +8 -7
  106. data/examples/templates/template_haml.rb +7 -8
  107. data/examples/templates/template_liquid.rb +20 -19
  108. data/examples/templates/template_markaby.rb +6 -7
  109. data/examples/templates/template_mustache.rb +70 -0
  110. data/examples/templates/template_nagoro.rb +6 -7
  111. data/examples/templates/template_redcloth.rb +8 -9
  112. data/examples/templates/template_remarkably.rb +8 -9
  113. data/examples/templates/template_tenjin.rb +10 -15
  114. data/examples/templates/{template → view}/external.haml +4 -4
  115. data/examples/templates/{template → view}/external.mab +4 -4
  116. data/examples/templates/view/external.mt +29 -0
  117. data/examples/templates/{template → view}/external.nag +4 -4
  118. data/examples/templates/{template → view}/external.redcloth +4 -4
  119. data/examples/templates/{template → view}/external.rem +4 -4
  120. data/examples/templates/{template → view}/external.rhtml +6 -6
  121. data/examples/templates/{template → view}/external.tenjin +4 -4
  122. data/examples/templates/{template → view}/external.zmr +6 -6
  123. data/guide/AUTHORS +80 -0
  124. data/guide/CHANGELOG +20210 -0
  125. data/guide/LICENSE +19 -0
  126. data/guide/_static/logo.png +0 -0
  127. data/guide/_static/logo.svg +49 -0
  128. data/guide/css/common.css +20 -0
  129. data/guide/general/cache.md +168 -0
  130. data/guide/general/configuration.md +169 -0
  131. data/guide/general/contributing.md +182 -0
  132. data/guide/general/controllers.md +210 -0
  133. data/guide/general/helpers.md +89 -0
  134. data/guide/general/installation.md +59 -0
  135. data/guide/general/logging.md +96 -0
  136. data/guide/general/middlewares.md +111 -0
  137. data/guide/general/models.md +79 -0
  138. data/{doc/readme_chunks/principles.txt → guide/general/principles.md} +15 -17
  139. data/guide/general/ramaze_command.md +110 -0
  140. data/guide/general/routes.md +82 -0
  141. data/guide/general/sessions.md +210 -0
  142. data/guide/general/special_thanks.md +69 -0
  143. data/guide/general/testing.md +228 -0
  144. data/guide/general/upgrading.md +85 -0
  145. data/guide/general/views.md +335 -0
  146. data/lib/proto/Gemfile +4 -0
  147. data/lib/proto/README.md +35 -0
  148. data/lib/proto/Rakefile +1 -0
  149. data/lib/proto/app.rb +9 -0
  150. data/lib/proto/config.ru +19 -0
  151. data/lib/proto/controller/init.rb +18 -0
  152. data/lib/proto/controller/main.rb +13 -10
  153. data/lib/proto/layout/default.xhtml +57 -0
  154. data/lib/proto/public/css/grid.css +107 -0
  155. data/lib/proto/public/css/layout.css +81 -0
  156. data/lib/proto/public/css/reset.css +123 -0
  157. data/lib/proto/public/css/text.css +109 -0
  158. data/lib/proto/public/favicon.ico +0 -0
  159. data/lib/proto/public/images/bg.png +0 -0
  160. data/lib/proto/spec/helper.rb +39 -0
  161. data/lib/proto/task/ramaze.rake +57 -0
  162. data/lib/proto/view/index.xhtml +36 -25
  163. data/lib/ramaze/app.rb +198 -0
  164. data/lib/ramaze/bin/create.rb +92 -0
  165. data/lib/ramaze/bin/runner.rb +127 -0
  166. data/lib/ramaze/cache/lru.rb +88 -0
  167. data/lib/ramaze/cache/memcache.rb +219 -0
  168. data/lib/ramaze/cache/moneta.rb +143 -0
  169. data/lib/ramaze/cache/redis.rb +163 -0
  170. data/lib/ramaze/cache/sequel.rb +373 -0
  171. data/lib/ramaze/cache.rb +42 -82
  172. data/lib/ramaze/controller/default.rb +25 -0
  173. data/lib/ramaze/controller.rb +184 -224
  174. data/lib/ramaze/current.rb +17 -68
  175. data/lib/ramaze/default_middleware.rb +24 -0
  176. data/lib/ramaze/files.rb +59 -0
  177. data/lib/ramaze/gestalt.rb +95 -63
  178. data/lib/ramaze/helper/auth.rb +107 -107
  179. data/lib/ramaze/helper/bench.rb +51 -0
  180. data/lib/ramaze/helper/blue_form.rb +683 -0
  181. data/lib/ramaze/helper/cache.rb +108 -130
  182. data/lib/ramaze/helper/csrf.rb +191 -0
  183. data/lib/ramaze/helper/email.rb +116 -0
  184. data/lib/ramaze/helper/erector.rb +113 -0
  185. data/lib/ramaze/helper/flash.rb +42 -39
  186. data/lib/ramaze/helper/formatting.rb +200 -35
  187. data/lib/ramaze/helper/gestalt.rb +49 -0
  188. data/lib/ramaze/helper/gravatar.rb +75 -0
  189. data/lib/ramaze/helper/identity.rb +93 -68
  190. data/lib/ramaze/helper/layout.rb +128 -0
  191. data/lib/ramaze/helper/link.rb +52 -119
  192. data/lib/ramaze/helper/localize.rb +143 -0
  193. data/lib/ramaze/helper/markaby.rb +26 -24
  194. data/lib/ramaze/helper/maruku.rb +15 -6
  195. data/lib/ramaze/helper/paginate.rb +315 -0
  196. data/lib/ramaze/helper/remarkably.rb +14 -0
  197. data/lib/ramaze/helper/request_accessor.rb +20 -0
  198. data/lib/ramaze/helper/send_file.rb +34 -0
  199. data/lib/ramaze/helper/simple_captcha.rb +61 -0
  200. data/lib/ramaze/helper/stack.rb +72 -62
  201. data/lib/ramaze/helper/tagz.rb +13 -12
  202. data/lib/ramaze/helper/thread.rb +25 -0
  203. data/lib/ramaze/helper/upload.rb +525 -0
  204. data/lib/ramaze/helper/user.rb +260 -39
  205. data/lib/ramaze/helper/xhtml.rb +122 -0
  206. data/lib/ramaze/helper.rb +8 -79
  207. data/lib/ramaze/log/hub.rb +41 -32
  208. data/lib/ramaze/log/informer.rb +128 -104
  209. data/lib/ramaze/log/logger.rb +25 -15
  210. data/lib/ramaze/log/logging.rb +46 -27
  211. data/lib/ramaze/log/rotatinginformer.rb +237 -0
  212. data/lib/ramaze/log/syslog.rb +57 -31
  213. data/lib/ramaze/log.rb +16 -15
  214. data/lib/ramaze/reloader/watch_inotify.rb +84 -0
  215. data/lib/ramaze/reloader/watch_stat.rb +58 -0
  216. data/lib/ramaze/reloader.rb +212 -0
  217. data/lib/ramaze/request.rb +126 -0
  218. data/lib/ramaze/response.rb +67 -0
  219. data/lib/ramaze/snippets/object/__dir__.rb +25 -0
  220. data/lib/ramaze/snippets/ramaze/deprecated.rb +23 -0
  221. data/lib/ramaze/snippets/string/camel_case.rb +17 -14
  222. data/lib/ramaze/snippets/string/color.rb +27 -24
  223. data/lib/ramaze/snippets/string/esc.rb +25 -25
  224. data/lib/ramaze/snippets/string/snake_case.rb +16 -13
  225. data/lib/ramaze/snippets/string/unindent.rb +24 -11
  226. data/lib/ramaze/snippets.rb +21 -6
  227. data/lib/ramaze/spec/bacon.rb +44 -0
  228. data/lib/ramaze/spec/helper/bacon.rb +4 -4
  229. data/lib/ramaze/spec/helper/pretty_output.rb +9 -1
  230. data/lib/ramaze/spec/helper/snippets.rb +11 -1
  231. data/lib/ramaze/spec/helper/template_examples.rb +22 -0
  232. data/lib/ramaze/version.rb +4 -13
  233. data/lib/ramaze/view/erector.rb +116 -0
  234. data/lib/ramaze/view/erubis.rb +26 -0
  235. data/lib/ramaze/view/ezamar.rb +27 -0
  236. data/lib/ramaze/view/gestalt.rb +20 -0
  237. data/lib/ramaze/view/haml.rb +27 -0
  238. data/lib/ramaze/view/liquid.rb +99 -0
  239. data/lib/ramaze/view/lokar.rb +18 -0
  240. data/lib/ramaze/view/mustache.rb +46 -0
  241. data/lib/ramaze/view/nagoro/render_partial.rb +32 -0
  242. data/lib/ramaze/view/nagoro.rb +44 -0
  243. data/lib/ramaze/view/remarkably.rb +22 -0
  244. data/lib/ramaze/view/sass.rb +22 -0
  245. data/lib/ramaze/view/slim.rb +43 -0
  246. data/lib/ramaze/view/slippers.rb +51 -0
  247. data/lib/ramaze/view/tagz.rb +67 -0
  248. data/lib/ramaze/view/tenjin.rb +32 -0
  249. data/lib/ramaze/view.rb +35 -0
  250. data/lib/ramaze.rb +60 -100
  251. data/lib/vendor/route_exceptions.rb +42 -0
  252. data/ramaze.gemspec +61 -0
  253. data/spec/examples/caching.rb +5 -8
  254. data/spec/examples/css.rb +3 -4
  255. data/spec/examples/element.rb +4 -4
  256. data/spec/examples/hello.rb +4 -5
  257. data/spec/examples/linking.rb +3 -4
  258. data/spec/examples/misc/sequel_scaffolding.rb +18 -0
  259. data/spec/examples/simple.rb +3 -8
  260. data/spec/examples/templates/template_erubis.rb +8 -18
  261. data/spec/examples/templates/template_ezamar.rb +9 -19
  262. data/spec/examples/templates/template_haml.rb +8 -20
  263. data/spec/examples/templates/template_liquid.rb +8 -24
  264. data/spec/examples/templates/template_markaby.rb +10 -19
  265. data/spec/examples/templates/template_mustache.rb +13 -0
  266. data/spec/examples/templates/template_nagoro.rb +13 -0
  267. data/spec/examples/templates/template_remarkably.rb +8 -18
  268. data/spec/examples/templates/template_tenjin.rb +8 -23
  269. data/spec/examples/todolist.rb +33 -0
  270. data/spec/helper.rb +14 -3
  271. data/spec/ramaze/action/render.rb +9 -17
  272. data/spec/ramaze/action/view/other_wrapper.erb +1 -0
  273. data/spec/ramaze/action/view/sub/sub_wrapper.xhtml +1 -0
  274. data/spec/ramaze/app/location.rb +43 -0
  275. data/spec/ramaze/app.rb +50 -0
  276. data/spec/ramaze/bin/app/config.ru +11 -0
  277. data/spec/ramaze/bin/create.rb +28 -0
  278. data/spec/ramaze/bin/runner.rb +30 -0
  279. data/spec/ramaze/cache/lru.rb +48 -0
  280. data/spec/ramaze/cache/memcache.rb +69 -0
  281. data/spec/ramaze/cache/moneta.rb +53 -0
  282. data/spec/ramaze/cache/redis.rb +58 -0
  283. data/spec/ramaze/cache/sequel.rb +60 -0
  284. data/spec/ramaze/controller/actionless_templates.rb +16 -12
  285. data/spec/ramaze/controller/lonely_mapping.rb +18 -0
  286. data/spec/ramaze/controller/mapping.rb +63 -0
  287. data/spec/ramaze/controller/provide_inheritance.rb +40 -0
  288. data/spec/ramaze/controller/resolve.rb +9 -11
  289. data/spec/ramaze/controller/subclass.rb +22 -7
  290. data/spec/ramaze/controller/template_resolving.rb +23 -61
  291. data/spec/ramaze/controller/view/bar.xhtml +1 -0
  292. data/spec/ramaze/controller/view/base/another.xhtml +1 -0
  293. data/spec/ramaze/dispatcher/directory.rb +61 -33
  294. data/spec/ramaze/dispatcher/file.rb +65 -47
  295. data/spec/ramaze/error.rb +54 -64
  296. data/spec/ramaze/files/public_1/plain.txt +1 -0
  297. data/spec/ramaze/files/public_2/rich.txt +1 -0
  298. data/spec/ramaze/files.rb +30 -0
  299. data/spec/ramaze/gestalt.rb +28 -21
  300. data/spec/ramaze/helper/auth.rb +47 -29
  301. data/spec/ramaze/helper/bench.rb +21 -0
  302. data/spec/ramaze/helper/blue_form.rb +807 -0
  303. data/spec/ramaze/helper/cache.rb +65 -84
  304. data/spec/ramaze/helper/csrf.rb +64 -0
  305. data/spec/ramaze/helper/email.rb +69 -0
  306. data/spec/ramaze/helper/flash.rb +22 -101
  307. data/spec/ramaze/helper/formatting.rb +100 -6
  308. data/spec/ramaze/helper/gestalt.rb +18 -0
  309. data/spec/ramaze/helper/gravatar.rb +43 -0
  310. data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
  311. data/spec/ramaze/helper/layout/default.xhtml +5 -0
  312. data/spec/ramaze/helper/layout.rb +109 -0
  313. data/spec/ramaze/helper/link.rb +48 -102
  314. data/spec/ramaze/helper/localize.rb +65 -0
  315. data/spec/ramaze/helper/maruku.rb +22 -0
  316. data/spec/ramaze/helper/paginate.rb +304 -0
  317. data/spec/ramaze/helper/request_accessor.rb +22 -0
  318. data/spec/ramaze/helper/simple_captcha.rb +45 -0
  319. data/spec/ramaze/helper/stack.rb +54 -41
  320. data/spec/ramaze/helper/upload.rb +150 -0
  321. data/spec/ramaze/helper/uploads/text_1.txt +1 -0
  322. data/spec/ramaze/helper/uploads/text_2.txt +1 -0
  323. data/spec/ramaze/helper/user.rb +63 -20
  324. data/spec/ramaze/helper/xhtml.rb +54 -0
  325. data/spec/ramaze/log/informer.rb +30 -28
  326. data/spec/ramaze/log/logging.rb +66 -0
  327. data/spec/ramaze/log/syslog.rb +89 -4
  328. data/spec/ramaze/params.rb +12 -16
  329. data/spec/ramaze/request.rb +51 -160
  330. data/spec/ramaze/rewrite/file.css +1 -0
  331. data/spec/ramaze/session/lru.rb +58 -0
  332. data/spec/ramaze/session/memcache.rb +66 -0
  333. data/spec/ramaze/session/redis.rb +63 -0
  334. data/spec/ramaze/session/sequel.rb +62 -0
  335. data/spec/ramaze/view/erector/external_view.erector +5 -0
  336. data/spec/ramaze/view/erector/index.erector +5 -0
  337. data/spec/ramaze/view/erector/layout.erector +13 -0
  338. data/spec/ramaze/view/erector/tables.erector +23 -0
  339. data/spec/ramaze/view/erector/view.erector +6 -0
  340. data/spec/ramaze/view/erector.rb +68 -0
  341. data/spec/ramaze/view/erubis/external.rhtml +8 -0
  342. data/spec/ramaze/view/erubis/sum.rhtml +1 -0
  343. data/spec/ramaze/view/erubis.rb +73 -0
  344. data/spec/ramaze/view/ezamar/external.zmr +8 -0
  345. data/spec/ramaze/view/ezamar/sum.zmr +1 -0
  346. data/spec/ramaze/view/ezamar.rb +73 -0
  347. data/spec/ramaze/view/gestalt/external.ges +8 -0
  348. data/spec/ramaze/view/gestalt.rb +94 -0
  349. data/spec/ramaze/view/haml/external.haml +5 -0
  350. data/spec/ramaze/view/haml/sum.haml +2 -0
  351. data/spec/ramaze/view/haml.rb +114 -0
  352. data/spec/ramaze/view/liquid/external.liquid +8 -0
  353. data/spec/ramaze/view/liquid/sum.liquid +1 -0
  354. data/spec/ramaze/view/liquid.rb +73 -0
  355. data/spec/ramaze/view/lokar/external.lok +8 -0
  356. data/spec/ramaze/view/lokar/sum.lok +1 -0
  357. data/spec/ramaze/view/lokar.rb +78 -0
  358. data/spec/ramaze/view/mustache/external.mt +8 -0
  359. data/spec/ramaze/view/mustache/sum.mt +1 -0
  360. data/spec/ramaze/view/mustache.rb +77 -0
  361. data/spec/ramaze/view/nagoro/external.nag +8 -0
  362. data/spec/ramaze/view/nagoro/sum.nag +1 -0
  363. data/spec/ramaze/view/nagoro.rb +78 -0
  364. data/spec/ramaze/view/remarkably.rb +49 -0
  365. data/spec/ramaze/view/sass.rb +73 -0
  366. data/spec/ramaze/view/slim/external.slim +5 -0
  367. data/spec/ramaze/view/slim/external_vars.slim +5 -0
  368. data/spec/ramaze/view/slim.rb +49 -0
  369. data/spec/ramaze/view/slippers/external.st +8 -0
  370. data/spec/ramaze/view/slippers/sum.st +1 -0
  371. data/spec/ramaze/view/slippers.rb +49 -0
  372. data/spec/ramaze/{template → view}/tagz.rb +20 -31
  373. data/spec/ramaze/view/tenjin/external.rbhtml +8 -0
  374. data/spec/ramaze/view/tenjin/sum.rbhtml +1 -0
  375. data/spec/ramaze/view/tenjin.rb +57 -0
  376. data/spec/ramaze/view.rb +36 -0
  377. data/spec/snippets/object/__dir__.rb +17 -0
  378. data/spec/snippets/ramaze/lru_hash.rb +88 -0
  379. data/spec/snippets/string/camel_case.rb +4 -1
  380. data/spec/snippets/string/color.rb +4 -1
  381. data/spec/snippets/string/snake_case.rb +4 -1
  382. data/spec/snippets/string/unindent.rb +10 -1
  383. data/tasks/authors.rake +17 -0
  384. data/tasks/bacon.rake +81 -0
  385. data/tasks/changelog.rake +20 -0
  386. data/tasks/gems.rake +15 -0
  387. data/tasks/release.rake +38 -0
  388. data/tasks/todo.rake +31 -0
  389. data/tasks/yard.rake +13 -0
  390. metadata +813 -714
  391. data/doc/AUTHORS +0 -25
  392. data/doc/CHANGELOG +0 -5757
  393. data/doc/COPYING +0 -56
  394. data/doc/FAQ +0 -92
  395. data/doc/GPL +0 -339
  396. data/doc/INSTALL +0 -34
  397. data/doc/LEGAL +0 -26
  398. data/doc/ProjectInfo +0 -53
  399. data/doc/README +0 -435
  400. data/doc/TODO +0 -29
  401. data/doc/meta/announcement.txt +0 -126
  402. data/doc/meta/configuration.txt +0 -162
  403. data/doc/meta/internals.txt +0 -278
  404. data/doc/meta/users.kml +0 -64
  405. data/doc/migrate/1110_to_1111.txt +0 -131
  406. data/doc/readme_chunks/appendix.txt +0 -10
  407. data/doc/readme_chunks/examples.txt +0 -38
  408. data/doc/readme_chunks/features.txt +0 -148
  409. data/doc/readme_chunks/getting_help.txt +0 -5
  410. data/doc/readme_chunks/getting_started.txt +0 -18
  411. data/doc/readme_chunks/installing.txt +0 -46
  412. data/doc/readme_chunks/introduction.txt +0 -18
  413. data/doc/readme_chunks/thanks.txt +0 -59
  414. data/doc/tutorial/todolist.html +0 -816
  415. data/doc/tutorial/todolist.mkd +0 -736
  416. data/examples/auth/auth.rb +0 -54
  417. data/examples/auth/template/layout.haml +0 -20
  418. data/examples/auth/template/login.haml +0 -16
  419. data/examples/blog/README +0 -3
  420. data/examples/blog/controller/main.rb +0 -29
  421. data/examples/blog/model/entry.rb +0 -30
  422. data/examples/blog/public/styles/blog.css +0 -132
  423. data/examples/blog/spec/blog.rb +0 -87
  424. data/examples/blog/start.rb +0 -7
  425. data/examples/blog/view/edit.xhtml +0 -17
  426. data/examples/blog/view/index.xhtml +0 -17
  427. data/examples/blog/view/layout.xhtml +0 -11
  428. data/examples/blog/view/new.xhtml +0 -16
  429. data/examples/hello.rb +0 -15
  430. data/examples/linking.rb +0 -29
  431. data/examples/memleak_detector.rb +0 -32
  432. data/examples/nitro_form.rb +0 -23
  433. data/examples/rammit/spec/rammit.rb +0 -30
  434. data/examples/rammit/src/controller/main.rb +0 -3
  435. data/examples/rammit/src/controller/page.rb +0 -16
  436. data/examples/rammit/src/model.rb +0 -33
  437. data/examples/rammit/start.rb +0 -8
  438. data/examples/rammit/template/index.xhtml +0 -14
  439. data/examples/rammit/template/page/view.xhtml +0 -4
  440. data/examples/rapaste/Rakefile +0 -35
  441. data/examples/rapaste/controller/paste.rb +0 -94
  442. data/examples/rapaste/model/paste.rb +0 -55
  443. data/examples/rapaste/public/css/active4d.css +0 -114
  444. data/examples/rapaste/public/css/all_hallows_eve.css +0 -72
  445. data/examples/rapaste/public/css/amy.css +0 -147
  446. data/examples/rapaste/public/css/blackboard.css +0 -88
  447. data/examples/rapaste/public/css/brilliance_black.css +0 -605
  448. data/examples/rapaste/public/css/brilliance_dull.css +0 -599
  449. data/examples/rapaste/public/css/cobalt.css +0 -149
  450. data/examples/rapaste/public/css/dawn.css +0 -121
  451. data/examples/rapaste/public/css/display.css +0 -197
  452. data/examples/rapaste/public/css/eiffel.css +0 -121
  453. data/examples/rapaste/public/css/espresso_libre.css +0 -109
  454. data/examples/rapaste/public/css/idle.css +0 -62
  455. data/examples/rapaste/public/css/iplastic.css +0 -80
  456. data/examples/rapaste/public/css/lazy.css +0 -73
  457. data/examples/rapaste/public/css/mac_classic.css +0 -123
  458. data/examples/rapaste/public/css/magicwb_amiga.css +0 -104
  459. data/examples/rapaste/public/css/pastels_on_dark.css +0 -188
  460. data/examples/rapaste/public/css/slush_poppies.css +0 -85
  461. data/examples/rapaste/public/css/spacecadet.css +0 -51
  462. data/examples/rapaste/public/css/sunburst.css +0 -180
  463. data/examples/rapaste/public/css/twilight.css +0 -137
  464. data/examples/rapaste/public/css/zenburnesque.css +0 -91
  465. data/examples/rapaste/public/js/jquery.js +0 -11
  466. data/examples/rapaste/spec/rapaste.rb +0 -49
  467. data/examples/rapaste/start.rb +0 -24
  468. data/examples/rapaste/view/copy.xhtml +0 -10
  469. data/examples/rapaste/view/index.xhtml +0 -9
  470. data/examples/rapaste/view/layout.xhtml +0 -25
  471. data/examples/rapaste/view/list.xhtml +0 -29
  472. data/examples/rapaste/view/search.xhtml +0 -41
  473. data/examples/rapaste/view/view.xhtml +0 -37
  474. data/examples/simple_auth.rb +0 -23
  475. data/examples/sourceview/public/coderay.css +0 -104
  476. data/examples/sourceview/public/images/file.gif +0 -0
  477. data/examples/sourceview/public/images/folder.gif +0 -0
  478. data/examples/sourceview/public/images/tv-collapsable-last.gif +0 -0
  479. data/examples/sourceview/public/images/tv-collapsable.gif +0 -0
  480. data/examples/sourceview/public/images/tv-expandable-last.gif +0 -0
  481. data/examples/sourceview/public/images/tv-expandable.gif +0 -0
  482. data/examples/sourceview/public/images/tv-item-last.gif +0 -0
  483. data/examples/sourceview/public/images/tv-item.gif +0 -0
  484. data/examples/sourceview/public/jquery.js +0 -11
  485. data/examples/sourceview/public/jquery.treeview.css +0 -48
  486. data/examples/sourceview/public/jquery.treeview.js +0 -223
  487. data/examples/sourceview/public/sourceview.js +0 -52
  488. data/examples/sourceview/sourceview.rb +0 -77
  489. data/examples/sourceview/template/index.haml +0 -59
  490. data/examples/templates/template/external.amrita +0 -19
  491. data/examples/templates/template/external.xsl +0 -57
  492. data/examples/templates/template_amrita2.rb +0 -74
  493. data/examples/templates/template_xslt.rb +0 -49
  494. data/examples/todolist/README +0 -1
  495. data/examples/todolist/public/js/jquery.js +0 -1923
  496. data/examples/todolist/public/ramaze.png +0 -0
  497. data/examples/todolist/spec/todolist.rb +0 -132
  498. data/examples/todolist/src/controller/main.rb +0 -70
  499. data/examples/todolist/src/element/page.rb +0 -31
  500. data/examples/todolist/src/model.rb +0 -14
  501. data/examples/todolist/start.rb +0 -11
  502. data/examples/todolist/template/index.xhtml +0 -17
  503. data/examples/todolist/template/new.xhtml +0 -7
  504. data/examples/whywiki/spec/whywiki.rb +0 -58
  505. data/examples/whywiki/template/show.xhtml +0 -18
  506. data/examples/wikore/start.rb +0 -9
  507. data/examples/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +0 -2
  508. data/examples/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +0 -2
  509. data/examples/wiktacular/mkd/main/current.mkd +0 -2
  510. data/examples/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +0 -2
  511. data/lib/proto/public/css/ramaze_error.css +0 -90
  512. data/lib/proto/public/dispatch.fcgi +0 -11
  513. data/lib/proto/public/ramaze.png +0 -0
  514. data/lib/proto/spec/main.rb +0 -24
  515. data/lib/proto/start.rb +0 -8
  516. data/lib/proto/start.ru +0 -8
  517. data/lib/proto/view/error.xhtml +0 -64
  518. data/lib/proto/view/page.xhtml +0 -15
  519. data/lib/ramaze/action/render.rb +0 -163
  520. data/lib/ramaze/action.rb +0 -136
  521. data/lib/ramaze/adapter/base.rb +0 -59
  522. data/lib/ramaze/adapter/cgi.rb +0 -24
  523. data/lib/ramaze/adapter/ebb.rb +0 -32
  524. data/lib/ramaze/adapter/evented_mongrel.rb +0 -7
  525. data/lib/ramaze/adapter/fcgi.rb +0 -24
  526. data/lib/ramaze/adapter/lsws.rb +0 -23
  527. data/lib/ramaze/adapter/mongrel.rb +0 -25
  528. data/lib/ramaze/adapter/scgi.rb +0 -22
  529. data/lib/ramaze/adapter/swiftiplied_mongrel.rb +0 -7
  530. data/lib/ramaze/adapter/thin.rb +0 -22
  531. data/lib/ramaze/adapter/webrick.rb +0 -52
  532. data/lib/ramaze/adapter.rb +0 -101
  533. data/lib/ramaze/cache/memcached.rb +0 -70
  534. data/lib/ramaze/cache/memory.rb +0 -6
  535. data/lib/ramaze/cache/yaml_store.rb +0 -68
  536. data/lib/ramaze/contrib/auto_params/get_args.rb +0 -57
  537. data/lib/ramaze/contrib/auto_params.rb +0 -135
  538. data/lib/ramaze/contrib/email.rb +0 -84
  539. data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
  540. data/lib/ramaze/contrib/facebook.rb +0 -23
  541. data/lib/ramaze/contrib/file_cache.rb +0 -65
  542. data/lib/ramaze/contrib/gettext/mo.rb +0 -155
  543. data/lib/ramaze/contrib/gettext/parser.rb +0 -46
  544. data/lib/ramaze/contrib/gettext/po.rb +0 -109
  545. data/lib/ramaze/contrib/gettext.rb +0 -113
  546. data/lib/ramaze/contrib/gzip_filter.rb +0 -56
  547. data/lib/ramaze/contrib/profiling.rb +0 -36
  548. data/lib/ramaze/contrib/route.rb +0 -22
  549. data/lib/ramaze/contrib/sequel/fill.rb +0 -12
  550. data/lib/ramaze/contrib/sequel_cache.rb +0 -92
  551. data/lib/ramaze/contrib.rb +0 -82
  552. data/lib/ramaze/controller/error.rb +0 -46
  553. data/lib/ramaze/controller/main.rb +0 -2
  554. data/lib/ramaze/controller/resolve.rb +0 -234
  555. data/lib/ramaze/current/request.rb +0 -181
  556. data/lib/ramaze/current/response.rb +0 -19
  557. data/lib/ramaze/current/session/flash.rb +0 -67
  558. data/lib/ramaze/current/session/hash.rb +0 -65
  559. data/lib/ramaze/current/session.rb +0 -153
  560. data/lib/ramaze/dispatcher/action.rb +0 -40
  561. data/lib/ramaze/dispatcher/directory.rb +0 -116
  562. data/lib/ramaze/dispatcher/error.rb +0 -108
  563. data/lib/ramaze/dispatcher/file.rb +0 -87
  564. data/lib/ramaze/dispatcher.rb +0 -124
  565. data/lib/ramaze/error.rb +0 -24
  566. data/lib/ramaze/global/dsl.rb +0 -39
  567. data/lib/ramaze/global/globalstruct.rb +0 -147
  568. data/lib/ramaze/global.rb +0 -116
  569. data/lib/ramaze/helper/aspect.rb +0 -100
  570. data/lib/ramaze/helper/cgi.rb +0 -43
  571. data/lib/ramaze/helper/inform.rb +0 -40
  572. data/lib/ramaze/helper/nitroform.rb +0 -14
  573. data/lib/ramaze/helper/pager.rb +0 -366
  574. data/lib/ramaze/helper/partial.rb +0 -96
  575. data/lib/ramaze/helper/redirect.rb +0 -73
  576. data/lib/ramaze/helper/sendfile.rb +0 -18
  577. data/lib/ramaze/helper/sequel.rb +0 -52
  578. data/lib/ramaze/inform.rb +0 -4
  579. data/lib/ramaze/log/analogger.rb +0 -37
  580. data/lib/ramaze/log/growl.rb +0 -35
  581. data/lib/ramaze/log/knotify.rb +0 -25
  582. data/lib/ramaze/log/xosd.rb +0 -88
  583. data/lib/ramaze/route.rb +0 -84
  584. data/lib/ramaze/snippets/array/put_within.rb +0 -37
  585. data/lib/ramaze/snippets/binding/locals.rb +0 -13
  586. data/lib/ramaze/snippets/dictionary.rb +0 -504
  587. data/lib/ramaze/snippets/divide.rb +0 -20
  588. data/lib/ramaze/snippets/kernel/__dir__.rb +0 -23
  589. data/lib/ramaze/snippets/kernel/acquire.rb +0 -39
  590. data/lib/ramaze/snippets/kernel/aquire.rb +0 -1
  591. data/lib/ramaze/snippets/kernel/constant.rb +0 -26
  592. data/lib/ramaze/snippets/kernel/pretty_inspect.rb +0 -15
  593. data/lib/ramaze/snippets/metaid.rb +0 -17
  594. data/lib/ramaze/snippets/numeric/filesize_format.rb +0 -19
  595. data/lib/ramaze/snippets/object/pretty.rb +0 -6
  596. data/lib/ramaze/snippets/object/scope.rb +0 -11
  597. data/lib/ramaze/snippets/object/thread_accessor.rb +0 -5
  598. data/lib/ramaze/snippets/object/traits.rb +0 -76
  599. data/lib/ramaze/snippets/ordered_set.rb +0 -36
  600. data/lib/ramaze/snippets/proc/locals.rb +0 -11
  601. data/lib/ramaze/snippets/ramaze/caller_info.rb +0 -30
  602. data/lib/ramaze/snippets/ramaze/caller_lines.rb +0 -51
  603. data/lib/ramaze/snippets/ramaze/thread_accessor.rb +0 -44
  604. data/lib/ramaze/snippets/string/each.rb +0 -8
  605. data/lib/ramaze/snippets/string/ord.rb +0 -15
  606. data/lib/ramaze/snippets/string/start_with.rb +0 -7
  607. data/lib/ramaze/snippets/struct/fill.rb +0 -23
  608. data/lib/ramaze/snippets/struct/values_at.rb +0 -23
  609. data/lib/ramaze/snippets/symbol/to_proc.rb +0 -24
  610. data/lib/ramaze/snippets/thread/into.rb +0 -18
  611. data/lib/ramaze/sourcereload.rb +0 -169
  612. data/lib/ramaze/spec/helper/browser.rb +0 -88
  613. data/lib/ramaze/spec/helper/mock_http.rb +0 -69
  614. data/lib/ramaze/spec/helper/requester.rb +0 -49
  615. data/lib/ramaze/spec/helper/simple_http.rb +0 -434
  616. data/lib/ramaze/spec/helper.rb +0 -122
  617. data/lib/ramaze/spec.rb +0 -1
  618. data/lib/ramaze/store/default.rb +0 -109
  619. data/lib/ramaze/template/amrita2.rb +0 -44
  620. data/lib/ramaze/template/builder.rb +0 -28
  621. data/lib/ramaze/template/erubis.rb +0 -35
  622. data/lib/ramaze/template/ezamar/element.rb +0 -169
  623. data/lib/ramaze/template/ezamar/engine.rb +0 -76
  624. data/lib/ramaze/template/ezamar/morpher.rb +0 -135
  625. data/lib/ramaze/template/ezamar/render_partial.rb +0 -31
  626. data/lib/ramaze/template/ezamar.rb +0 -42
  627. data/lib/ramaze/template/haml.rb +0 -37
  628. data/lib/ramaze/template/liquid.rb +0 -36
  629. data/lib/ramaze/template/markaby.rb +0 -52
  630. data/lib/ramaze/template/nagoro.rb +0 -51
  631. data/lib/ramaze/template/none.rb +0 -14
  632. data/lib/ramaze/template/redcloth.rb +0 -24
  633. data/lib/ramaze/template/remarkably.rb +0 -38
  634. data/lib/ramaze/template/sass.rb +0 -37
  635. data/lib/ramaze/template/tagz.rb +0 -79
  636. data/lib/ramaze/template/tenjin.rb +0 -34
  637. data/lib/ramaze/template/xslt.rb +0 -96
  638. data/lib/ramaze/template.rb +0 -81
  639. data/lib/ramaze/tool/create.rb +0 -74
  640. data/lib/ramaze/tool/localize.rb +0 -162
  641. data/lib/ramaze/tool/mime.rb +0 -25
  642. data/lib/ramaze/tool/mime_types.yaml +0 -615
  643. data/lib/ramaze/tool/record.rb +0 -6
  644. data/lib/ramaze/tool.rb +0 -9
  645. data/lib/ramaze/trinity.rb +0 -13
  646. data/lib/vendor/bacon.rb +0 -323
  647. data/rake_tasks/conf.rake +0 -73
  648. data/rake_tasks/coverage.rake +0 -46
  649. data/rake_tasks/darcs.rake +0 -5
  650. data/rake_tasks/gem.rake +0 -43
  651. data/rake_tasks/maintenance.rake +0 -384
  652. data/rake_tasks/spec.rake +0 -62
  653. data/spec/contrib/auto_params.rb +0 -121
  654. data/spec/contrib/profiling.rb +0 -26
  655. data/spec/contrib/route.rb +0 -36
  656. data/spec/contrib/sequel/fill.rb +0 -47
  657. data/spec/examples/simple_auth.rb +0 -32
  658. data/spec/examples/templates/template_amrita2.rb +0 -16
  659. data/spec/examples/templates/template_redcloth.rb +0 -28
  660. data/spec/ramaze/action/basics.rb +0 -36
  661. data/spec/ramaze/action/cache.rb +0 -43
  662. data/spec/ramaze/action/layout.rb +0 -190
  663. data/spec/ramaze/adapter/mongrel.rb +0 -12
  664. data/spec/ramaze/adapter/record.rb +0 -31
  665. data/spec/ramaze/adapter/webrick.rb +0 -12
  666. data/spec/ramaze/adapter.rb +0 -22
  667. data/spec/ramaze/cache.rb +0 -73
  668. data/spec/ramaze/controller.rb +0 -177
  669. data/spec/ramaze/current/request.rb +0 -30
  670. data/spec/ramaze/current/session.rb +0 -97
  671. data/spec/ramaze/dispatcher.rb +0 -31
  672. data/spec/ramaze/element.rb +0 -107
  673. data/spec/ramaze/helper/aspect.rb +0 -92
  674. data/spec/ramaze/helper/cgi.rb +0 -43
  675. data/spec/ramaze/helper/file.rb +0 -18
  676. data/spec/ramaze/helper/pager.rb +0 -99
  677. data/spec/ramaze/helper/partial.rb +0 -76
  678. data/spec/ramaze/helper/redirect.rb +0 -112
  679. data/spec/ramaze/localize.rb +0 -67
  680. data/spec/ramaze/morpher.rb +0 -111
  681. data/spec/ramaze/public/error404.xhtml +0 -1
  682. data/spec/ramaze/request/mongrel.rb +0 -9
  683. data/spec/ramaze/request/thin.rb +0 -9
  684. data/spec/ramaze/request/webrick.rb +0 -5
  685. data/spec/ramaze/route.rb +0 -130
  686. data/spec/ramaze/session.rb +0 -94
  687. data/spec/ramaze/store/default.rb +0 -71
  688. data/spec/ramaze/template/amrita2/external.amrita +0 -6
  689. data/spec/ramaze/template/amrita2/sum.amrita +0 -1
  690. data/spec/ramaze/template/amrita2.rb +0 -50
  691. data/spec/ramaze/template/builder/external.rxml +0 -3
  692. data/spec/ramaze/template/builder.rb +0 -55
  693. data/spec/ramaze/template/erubis/sum.rhtml +0 -1
  694. data/spec/ramaze/template/erubis.rb +0 -41
  695. data/spec/ramaze/template/ezamar/another/long/action.zmr +0 -1
  696. data/spec/ramaze/template/ezamar/combined.zmr +0 -1
  697. data/spec/ramaze/template/ezamar/file_only.zmr +0 -1
  698. data/spec/ramaze/template/ezamar/index.zmr +0 -1
  699. data/spec/ramaze/template/ezamar/nested.zmr +0 -1
  700. data/spec/ramaze/template/ezamar/other__index.xhtml +0 -1
  701. data/spec/ramaze/template/ezamar/some__long__action.zmr +0 -1
  702. data/spec/ramaze/template/ezamar/sum.zmr +0 -1
  703. data/spec/ramaze/template/ezamar.rb +0 -63
  704. data/spec/ramaze/template/haml/index.haml +0 -5
  705. data/spec/ramaze/template/haml/locals.haml +0 -2
  706. data/spec/ramaze/template/haml/with_vars.haml +0 -4
  707. data/spec/ramaze/template/haml.rb +0 -66
  708. data/spec/ramaze/template/liquid/index.liquid +0 -1
  709. data/spec/ramaze/template/liquid/products.liquid +0 -45
  710. data/spec/ramaze/template/liquid.rb +0 -99
  711. data/spec/ramaze/template/markaby/external.mab +0 -8
  712. data/spec/ramaze/template/markaby/sum.mab +0 -1
  713. data/spec/ramaze/template/markaby.rb +0 -61
  714. data/spec/ramaze/template/nagoro/another/long/action.nag +0 -1
  715. data/spec/ramaze/template/nagoro/combined.nag +0 -1
  716. data/spec/ramaze/template/nagoro/file_only.nag +0 -1
  717. data/spec/ramaze/template/nagoro/index.nag +0 -1
  718. data/spec/ramaze/template/nagoro/nested.nag +0 -1
  719. data/spec/ramaze/template/nagoro/some__long__action.nag +0 -1
  720. data/spec/ramaze/template/nagoro/sum.nag +0 -1
  721. data/spec/ramaze/template/nagoro.rb +0 -64
  722. data/spec/ramaze/template/redcloth/external.redcloth +0 -1
  723. data/spec/ramaze/template/redcloth.rb +0 -38
  724. data/spec/ramaze/template/remarkably.rb +0 -58
  725. data/spec/ramaze/template/sass.rb +0 -69
  726. data/spec/ramaze/template/tenjin/external.tenjin +0 -1
  727. data/spec/ramaze/template/tenjin.rb +0 -49
  728. data/spec/ramaze/template/xslt/concat_words.xsl +0 -16
  729. data/spec/ramaze/template/xslt/index.xsl +0 -14
  730. data/spec/ramaze/template/xslt/products.xsl +0 -32
  731. data/spec/ramaze/template/xslt/ruby_version.xsl +0 -14
  732. data/spec/ramaze/template/xslt.rb +0 -90
  733. data/spec/ramaze/template.rb +0 -128
  734. data/spec/snippets/array/put_within.rb +0 -33
  735. data/spec/snippets/divide.rb +0 -19
  736. data/spec/snippets/kernel/__dir__.rb +0 -8
  737. data/spec/snippets/kernel/acquire.rb +0 -71
  738. data/spec/snippets/kernel/constant.rb +0 -23
  739. data/spec/snippets/numeric/filesize_format.rb +0 -12
  740. data/spec/snippets/ordered_set.rb +0 -63
  741. data/spec/snippets/ramaze/caller_info.rb +0 -39
  742. data/spec/snippets/ramaze/caller_lines.rb +0 -30
  743. data/spec/snippets/struct/fill.rb +0 -26
  744. data/spec/snippets/struct/values_at.rb +0 -44
  745. data/spec/snippets/symbol/to_proc.rb +0 -13
  746. data/spec/snippets/thread/into.rb +0 -20
  747. /data/examples/{todolist → app/todolist}/public/favicon.ico +0 -0
  748. /data/examples/{upload → app/upload}/view/index.xhtml +0 -0
  749. /data/examples/{wikore/template → app/wikore/view}/index.xhtml +0 -0
  750. /data/examples/{wiktacular → app/wiktacular}/README +0 -0
  751. /data/examples/{wiktacular → app/wiktacular}/mkd/link/2007-07-20_19-45-51.mkd +0 -0
  752. /data/examples/{wiktacular → app/wiktacular}/mkd/link/current.mkd +0 -0
  753. /data/examples/{wiktacular → app/wiktacular}/mkd/main/2007-07-20_16-31-33.mkd +0 -0
  754. /data/examples/{wiktacular → app/wiktacular}/public/favicon.ico +0 -0
  755. /data/examples/{wiktacular → app/wiktacular}/public/screen.css +0 -0
  756. /data/examples/{wiktacular/template → app/wiktacular/view}/index.xhtml +0 -0
  757. /data/examples/{identity.rb → helpers/identity.rb} +0 -0
  758. /data/examples/{facebook.rb → misc/facebook.rb} +0 -0
  759. /data/examples/templates/{template → view}/external.liquid +0 -0
  760. /data/spec/ramaze/action/{template → view}/bar.xhtml +0 -0
  761. /data/spec/ramaze/action/{template → view}/instancevars/layout.xhtml +0 -0
  762. /data/spec/ramaze/action/{template → view}/other_wrapper.xhtml +0 -0
  763. /data/spec/ramaze/action/{template → view}/single_wrapper.xhtml +0 -0
  764. /data/spec/ramaze/action/{template/sub/sub_wrapper.xhtml → view/sub/sub_wrapper.erb} +0 -0
  765. /data/spec/ramaze/controller/{template → view}/greet.xhtml +0 -0
  766. /data/spec/ramaze/controller/{template → view}/list.xhtml +0 -0
  767. /data/spec/ramaze/controller/{template → view}/other/greet/other.xhtml +0 -0
  768. /data/spec/ramaze/controller/{template → view}/other_wrapper.xhtml +0 -0
  769. /data/spec/ramaze/helper/{template → view}/locals.xhtml +0 -0
  770. /data/spec/ramaze/helper/{template → view}/loop.xhtml +0 -0
  771. /data/spec/ramaze/helper/{template → view}/num.xhtml +0 -0
  772. /data/spec/ramaze/helper/{template → view}/partial.xhtml +0 -0
  773. /data/spec/ramaze/helper/{template → view}/recursive.xhtml +0 -0
  774. /data/spec/ramaze/helper/{template → view}/recursive_local_ivars.xhtml +0 -0
  775. /data/spec/ramaze/helper/{template → view}/recursive_locals.xhtml +0 -0
  776. /data/spec/ramaze/helper/{template → view}/test_template.xhtml +0 -0
  777. /data/spec/ramaze/{template → view}/remarkably/external.rem +0 -0
  778. /data/spec/ramaze/{template → view}/remarkably/sum.rem +0 -0
  779. /data/spec/ramaze/{template → view}/sass/file.css.sass +0 -0
  780. /data/spec/ramaze/{template → view}/tagz/external.tagz +0 -0
  781. /data/spec/ramaze/{template → view}/tagz/sum.tagz +0 -0
@@ -0,0 +1,22 @@
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
+
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ class SpecHelperRequestAccessor < Ramaze::Controller
7
+ map '/'
8
+ helper :request_accessor
9
+
10
+ def index
11
+ get? ? 'GET' : request_method
12
+ end
13
+ end
14
+
15
+ describe 'Ramaze::Helper::RequestAccessor' do
16
+ behaves_like :rack_test
17
+
18
+ it 'gives direct access to methods in Request' do
19
+ get('/').body.should == 'GET'
20
+ put('/').body.should == 'PUT'
21
+ end
22
+ end
@@ -0,0 +1,45 @@
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
+
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ class SpecSimpleCaptcha < Ramaze::Controller
7
+ helper :simple_captcha
8
+ map '/'
9
+
10
+ def ask_question
11
+ question = simple_captcha
12
+ end
13
+
14
+ def answer_question(with)
15
+ check_captcha(with) ? 'correct' : 'wrong'
16
+ end
17
+ end
18
+
19
+ class SpecCustomCaptcha < SpecSimpleCaptcha
20
+ map '/fish'
21
+
22
+ trait :captcha => lambda{
23
+ ["the answer to everything", 42]
24
+ }
25
+ end
26
+
27
+ describe Ramaze::Helper::SimpleCaptcha do
28
+ behaves_like :rack_test
29
+
30
+ should 'ask question' do
31
+ get('/ask_question')
32
+ question = last_response.body
33
+ question.should =~ /^\d+ [+-] \d+$/
34
+
35
+ lh, m, rh = question.split
36
+ answer = lh.to_i.send(m, rh.to_i)
37
+
38
+ get("/answer_question/#{answer}").body.should == 'correct'
39
+ end
40
+
41
+ should 'ask custom question' do
42
+ get('/fish/ask_question').body.should == 'the answer to everything'
43
+ get('/fish/answer_question/42').body.should == 'correct'
44
+ end
45
+ end
@@ -1,23 +1,20 @@
1
- # Copyright (c) 2006 Michael Fellinger m.fellinger@gmail.com
2
- # All files in this distribution are subject to the terms of the Ruby license.
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
3
 
4
- require 'spec/helper'
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
5
 
6
- class TCStackHelperController < Ramaze::Controller
7
- map :/
8
- helper :stack, :aspect
6
+ class SpecStackHelper < Ramaze::Controller
7
+ map '/'
8
+ helper :stack
9
+ engine :None
9
10
 
10
- def index
11
- session.inspect
11
+ def logged_in_page
12
+ call(r(:login)) unless logged_in?
13
+ "the logged in page"
12
14
  end
13
15
 
14
- def foo
15
- call Rs(:login) unless logged_in?
16
- "logged in"
17
- end
18
-
19
- def bar
20
- call Rs(:login) unless logged_in?
16
+ def logged_in_params
17
+ call(r(:login)) unless logged_in?
21
18
  request.params.inspect
22
19
  end
23
20
 
@@ -27,11 +24,11 @@ class TCStackHelperController < Ramaze::Controller
27
24
 
28
25
  def login
29
26
  session[:logged_in] = true
30
- answer
27
+ answer(r(:secure))
31
28
  end
32
29
 
33
30
  def logout
34
- session.clear
31
+ session.delete(:logged_in)
35
32
  end
36
33
 
37
34
  private
@@ -41,33 +38,49 @@ class TCStackHelperController < Ramaze::Controller
41
38
  end
42
39
  end
43
40
 
44
- describe "StackHelper" do
45
- behaves_like 'browser'
46
- ramaze(:adapter => :webrick)
47
-
48
- it "conventional login" do
49
- Browser.new do
50
- get('/secure').should == 'please login'
51
- get('/login')
52
- get('/secure').should == 'secret content'
53
- get('/logout')
54
- end
41
+ describe Ramaze::Helper::Stack do
42
+ behaves_like :rack_test
43
+ @uri = 'http://example.org'
44
+
45
+ should 'login directly' do
46
+ get('/secure').body.should == 'please login'
47
+
48
+ get('/login').status.should == 302
49
+ last_response['Location'].should == "#@uri/secure"
50
+
51
+ get('/secure').status.should == 200
52
+ last_response.body.should == 'secret content'
53
+
54
+ get('/secure').body.should == 'secret content'
55
+ get('/logout')
56
+ get('/secure').body.should == 'please login'
55
57
  end
56
58
 
57
- it "indirect login" do
58
- Browser.new do
59
- get('/')
60
- get('/foo').should == 'logged in'
61
- get('/secure').should == 'secret content'
62
- eget('/').should == {:logged_in => true}
63
- end
59
+ should 'login via redirects' do
60
+ get('/logged_in_page').status.should == 302
61
+ last_response['Location'].should == 'http://example.org/login'
62
+
63
+ get('/login').status.should == 302
64
+ last_response['Location'].should == 'http://example.org/logged_in_page'
65
+
66
+ get('/logged_in_page').status.should == 200
67
+ last_response.body.should == 'the logged in page'
68
+
69
+ get('/logout')
70
+ get('/secure').body.should == 'please login'
64
71
  end
65
72
 
66
- it "indirect login with params" do
67
- Browser.new do
68
- get('/')
69
- eget('/bar', 'x' => 'y').should == {'x' => 'y'}
70
- eget('/').should == {:logged_in => true}
71
- end
73
+ should 'login with params via redirects' do
74
+ get('/logged_in_params?x=y').status.should == 302
75
+ last_response['Location'].should == 'http://example.org/login'
76
+
77
+ get('/login').status.should == 302
78
+ last_response['Location'].should == 'http://example.org/logged_in_params?x=y'
79
+
80
+ get('/logged_in_params?x=y').status.should == 200
81
+ last_response.body.should == {'x' => 'y'}.inspect
82
+
83
+ get('/logout')
84
+ get('/secure').body.should == 'please login'
72
85
  end
73
86
  end
@@ -0,0 +1,150 @@
1
+ require File.expand_path('../../../../spec/helper', __FILE__)
2
+ require 'fileutils'
3
+ require 'tempfile'
4
+
5
+ class SpecUploadHelper < Ramaze::Controller
6
+ map '/'
7
+
8
+ helper :upload
9
+
10
+ handle_uploads_for :auto_upload
11
+ handle_uploads_for [:auto_upload_pattern, /file_2/]
12
+
13
+ def empty
14
+ if get_uploaded_files.empty?
15
+ return 'empty'
16
+ else
17
+ return 'not empty'
18
+ end
19
+ end
20
+
21
+ def upload
22
+ get_uploaded_files.each_pair do |k, v|
23
+ v.save(File.join('/tmp/ramaze_uploads', v.filename))
24
+
25
+ return 'not uploaded' unless v.saved?
26
+ end
27
+
28
+ return 'uploaded'
29
+ end
30
+
31
+ # If all goes well this should behave exactly the same as upload() with the
32
+ # difference that the uploads are processed in handle_uploads_for() and then
33
+ # just returned.
34
+ def auto_upload
35
+ return upload
36
+ end
37
+
38
+ def auto_upload_pattern
39
+ return upload
40
+ end
41
+ end
42
+
43
+ describe('Ramaze::Helper::Upload') do
44
+ behaves_like :rack_test
45
+
46
+ before { Dir.mkdir('/tmp/ramaze_uploads') }
47
+ after { FileUtils.rm_rf('/tmp/ramaze_uploads') }
48
+
49
+ it('No files should be uploaded') do
50
+ get('/empty').body.strip.should === 'empty'
51
+ end
52
+
53
+ it('Upload a text file') do
54
+ file = Rack::Test::UploadedFile.new(
55
+ __DIR__('uploads/text_1.txt'),
56
+ 'text/plain'
57
+ )
58
+
59
+ body = post('/upload', :file_1 => file).body.strip
60
+
61
+ body.should === 'uploaded'
62
+
63
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
64
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
65
+ end
66
+
67
+ it('Upload multiple files') do
68
+ file_1 = Rack::Test::UploadedFile.new(
69
+ __DIR__('uploads/text_1.txt'),
70
+ 'text/plain'
71
+ )
72
+
73
+ file_2 = Rack::Test::UploadedFile.new(
74
+ __DIR__('uploads/text_2.txt'),
75
+ 'text/plain'
76
+ )
77
+
78
+ body = post('/upload', :file_1 => file_1, :file_2 => file_2).body.strip
79
+
80
+ body.should === 'uploaded'
81
+
82
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
83
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
84
+
85
+ File.exist?('/tmp/ramaze_uploads/text_2.txt').should === true
86
+ File.read('/tmp/ramaze_uploads/text_2.txt').strip.should === 'Hello Ramaze'
87
+ end
88
+
89
+ it('Automatically handle uploads') do
90
+ file_1 = Rack::Test::UploadedFile.new(
91
+ __DIR__('uploads/text_1.txt'),
92
+ 'text/plain'
93
+ )
94
+
95
+ body = post('/auto_upload', :file_1 => file_1).body.strip
96
+
97
+ body.should === 'uploaded'
98
+
99
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
100
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
101
+ end
102
+
103
+ it('Automatically handle uploads using a pattern') do
104
+ file_1 = Rack::Test::UploadedFile.new(
105
+ __DIR__('uploads/text_1.txt'),
106
+ 'text/plain'
107
+ )
108
+
109
+ file_2 = Rack::Test::UploadedFile.new(
110
+ __DIR__('uploads/text_2.txt'),
111
+ 'text/plain'
112
+ )
113
+
114
+ body = post(
115
+ '/auto_upload_pattern',
116
+ :file_1 => file_1,
117
+ :file_2 => file_2
118
+ ).body.strip
119
+
120
+ body.should === 'uploaded'
121
+
122
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
123
+ File.exist?('/tmp/ramaze_uploads/text_2.txt').should === false
124
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
125
+ end
126
+ end
127
+
128
+ describe('Ramaze::Helper::Upload::UploadedFile') do
129
+ before { Dir.mkdir('/tmp/ramaze_uploads') }
130
+ after { FileUtils.rm_rf('/tmp/ramaze_uploads') }
131
+
132
+ it('Create a new file') do
133
+ path = __DIR__('uploads/text_1.txt')
134
+ file = Ramaze::Helper::Upload::UploadedFile.new(
135
+ path,
136
+ 'text/plain',
137
+ Tempfile.new('text_1.txt'),
138
+ Ramaze::Helper::Upload::ClassMethods.trait[:default_upload_options]
139
+ )
140
+
141
+ file.filename.should === 'text_1.txt'
142
+ file.type.should === 'text/plain'
143
+ file.path.nil?.should === true
144
+
145
+ file.save('/tmp/ramaze_uploads/text_1.txt')
146
+
147
+ file.path.nil?.should === false
148
+ file.instance_variable_get("@realfile").closed?.should === true
149
+ end
150
+ end
@@ -0,0 +1 @@
1
+ Hello world
@@ -0,0 +1 @@
1
+ Hello Ramaze
@@ -1,46 +1,89 @@
1
- require 'spec/helper'
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
2
3
 
3
- class MockSequelUser
4
- # mocks what User[:name => 'arthur', :password => '42'] would do
5
- def self.[](hash)
6
- name = hash[:name] || hash['name']
7
- pass = hash[:password] || hash['password']
8
- new if name == 'arthur' and pass == '42'
9
- end
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
10
5
 
6
+ class MockSequelUser
11
7
  def profile
12
8
  "Arthur Dent, fearful human in outer space!"
13
9
  end
10
+
11
+ def self.authenticate(hash)
12
+ new if hash.values_at('name', 'password') == %w[arthur 42]
13
+ end
14
14
  end
15
15
 
16
- class HelperUser < Ramaze::Controller
16
+ class SpecUserHelper < Ramaze::Controller
17
17
  map '/'
18
18
  helper :user
19
19
  trait :user_model => MockSequelUser
20
20
 
21
21
  def status
22
- user.logged_in?.to_s
22
+ logged_in? ? 'yes' : 'no'
23
23
  end
24
24
 
25
25
  def login
26
- user.login
26
+ user_login ? 'logged in' : 'failed login'
27
+ end
28
+
29
+ def logout
30
+ user_logout
27
31
  end
28
32
 
29
33
  def profile
30
34
  user.profile
31
35
  end
36
+
37
+ def sid
38
+ session.sid
39
+ end
40
+ end
41
+
42
+ Arthur = {
43
+ :name => 'arthur',
44
+ :pass => '42',
45
+ :profile => 'Arthur Dent, fearful human in outer space!'
46
+ }
47
+
48
+
49
+ class SpecUserHelperCallback < SpecUserHelper
50
+ map '/callback'
51
+ helper :user
52
+ trait :user_callback => lambda{|hash|
53
+ Arthur if hash.values_at('name', 'password') == Arthur.values_at(:name, :pass)
54
+ }
55
+
56
+ def profile
57
+ user[:profile]
58
+ end
32
59
  end
33
60
 
34
- describe Ramaze::Helper::User do
35
- behaves_like 'browser'
36
- ramaze :adapter => :webrick
61
+ describe Ramaze::Helper::UserHelper do
62
+ behaves_like :rack_test
37
63
 
38
64
  should 'login' do
39
- Browser.new do
40
- get('/status').should == 'false'
41
- get('/login', 'name' => 'arthur', 'password' => '42')
42
- get('/status').should == 'true'
43
- get('/profile').should == MockSequelUser.new.profile
44
- end
65
+ get('/status').body.should == 'no'
66
+ get('/login?name=arthur&password=42').body.should == 'logged in'
67
+ get('/status').body.should == 'yes'
68
+ get('/profile').body.should == MockSequelUser.new.profile
69
+ get('/logout').status.should == 200
70
+ get('/status').body.should == 'no'
71
+ end
72
+
73
+ should 'login via the callback' do
74
+ get('/callback/status').body.should == 'no'
75
+ get('/callback/login?name=arthur&password=42').body.should == 'logged in'
76
+ get('/callback/status').body.should == 'yes'
77
+ get('/callback/profile').body.should == MockSequelUser.new.profile
78
+ get('/logout').status.should == 200
79
+ get('/callback/status').body.should == 'no'
80
+ end
81
+
82
+ should 'change sid after logout' do
83
+ get('/login?name=arthur&password=42').body.should == 'logged in'
84
+ oldsid = get('/sid').body
85
+ get('/logout').status.should == 200
86
+ get('/sid').body.should.not == oldsid
45
87
  end
46
88
  end
89
+
@@ -0,0 +1,54 @@
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
+
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
+ require 'ramaze/helper/xhtml'
6
+
7
+ describe Ramaze::Helper::XHTML do
8
+ extend Ramaze::Helper::XHTML
9
+
10
+ should 'answer with <link> on #css' do
11
+ css(:foo).
12
+ should == '<link href="/css/foo.css" media="screen" rel="stylesheet" type="text/css" />'
13
+ css(:foo, 'mobile').
14
+ should == '<link href="/css/foo.css" media="mobile" rel="stylesheet" type="text/css" />'
15
+ css(:foo, 'screen', :only => :ie).
16
+ should == '<!--[if IE]><link href="/css/foo.css" media="screen" rel="stylesheet" type="text/css" /><![endif]-->'
17
+ css('http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js', 'screen').
18
+ should == '<link href="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" media="screen" rel="stylesheet" type="text/css" />'
19
+ end
20
+
21
+ should 'answer with <link> on #css with optional prefix' do
22
+ css(:foo, 'screen', :prefix => 'bar').
23
+ should == '<link href="/bar/foo.css" media="screen" rel="stylesheet" type="text/css" />'
24
+ end
25
+
26
+ should 'answer with <link> on #css with options hash as second argument' do
27
+ css(:foo, :prefix => 'bar/baz').
28
+ should == '<link href="/bar/baz/foo.css" media="screen" rel="stylesheet" type="text/css" />'
29
+ end
30
+
31
+ should 'answer with <script> on #js' do
32
+ js(:foo).
33
+ should == '<script src="/js/foo.js" type="text/javascript"></script>'
34
+ js('http://example.com/foo.js').
35
+ should == '<script src="http://example.com/foo.js" type="text/javascript"></script>'
36
+ end
37
+
38
+ should 'answer with <script> on #js with optional prefix' do
39
+ js(:foo, :prefix => 'bar').
40
+ should == '<script src="/bar/foo.js" type="text/javascript"></script>'
41
+ js(:foo, :prefix => 'javascripts/deeply/nested').
42
+ should == '<script src="/javascripts/deeply/nested/foo.js" type="text/javascript"></script>'
43
+ end
44
+
45
+ should 'answer with multiple <link> on #css_for' do
46
+ css_for(:foo, :bar).
47
+ should == "<link href=\"/css/foo.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"/css/bar.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />"
48
+ end
49
+
50
+ should 'ansewr with multiple <script> on #js_for' do
51
+ js_for(:foo, :bar).
52
+ should == "<script src=\"/js/foo.js\" type=\"text/javascript\"></script>\n<script src=\"/js/bar.js\" type=\"text/javascript\"></script>"
53
+ end
54
+ end
@@ -1,65 +1,68 @@
1
- require 'spec/helper'
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
+
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
+ require 'ramaze/log/informer'
6
+ require 'stringio'
2
7
 
3
8
  describe 'Informer' do
4
- before do
5
- @out = []
6
- def @out.puts(*args) push(*args) end
7
- Ramaze::Informer.trait[:colorize] = false
8
- @inform = Ramaze::Informer.new(@out)
9
- end
9
+ @out = []
10
+ def @out.puts(*args) push(*args) end
11
+ Ramaze::Logger::Informer.trait[:colorize] = false
12
+ @inform = Ramaze::Logger::Informer.new(@out)
10
13
 
11
14
  def format(tag, string)
12
15
  /\[\d{4}-\d\d-\d\d \d\d:\d\d:\d\d\] #{tag.to_s.upcase.ljust(5)} #{Regexp.escape(string)}/
13
16
  end
14
17
 
15
- it 'info' do
18
+ should 'log #info' do
16
19
  @inform.info('Some Info')
17
- @out.first.should =~ format(:info, 'Some Info')
20
+ @out.last.should =~ format(:info, 'Some Info')
18
21
  end
19
22
 
20
- it 'debug' do
23
+ should 'log #debug' do
21
24
  arr = [:some, :stuff]
22
25
  @inform.debug(arr)
23
- @out.first.should =~ format(:debug, arr.inspect)
26
+ @out.last.should =~ format(:debug, arr.inspect)
24
27
  end
25
28
 
26
- it 'warn' do
29
+ should 'log #warn' do
27
30
  @inform.warn('More things')
28
- @out.first.should =~ format(:warn, 'More things')
31
+ @out.last.should =~ format(:warn, 'More things')
29
32
  end
30
33
 
31
- it 'error' do
34
+ should 'log #error' do
32
35
  begin
33
36
  raise('Stuff')
34
37
  rescue => ex
35
38
  end
36
39
 
37
40
  @inform.error(ex)
38
- @out.first.should =~ format(:error, ex.inspect)
41
+ @out.any?{|o| o =~ format(:error, ex.inspect) }.should.be.true
39
42
  end
40
43
 
41
- it 'should choose stdout on init(stdout,:stdout,STDOUT)' do
42
- a = Ramaze::Informer.new(STDOUT)
43
- b = Ramaze::Informer.new(:stdout)
44
- c = Ramaze::Informer.new('stdout')
44
+ should 'choose stdout on init(stdout,:stdout,STDOUT)' do
45
+ a = Ramaze::Logger::Informer.new(STDOUT)
46
+ b = Ramaze::Logger::Informer.new(:stdout)
47
+ c = Ramaze::Logger::Informer.new('stdout')
45
48
  [a,b,c].each { |x| x.out.should == $stdout}
46
49
  end
47
50
 
48
- it 'should choose stderr on init(stderr,:stderr,STDERR)' do
49
- a = Ramaze::Informer.new(STDERR)
50
- b = Ramaze::Informer.new(:stderr)
51
- c = Ramaze::Informer.new('stderr')
51
+ should 'choose stderr on init(stderr,:stderr,STDERR)' do
52
+ a = Ramaze::Logger::Informer.new(STDERR)
53
+ b = Ramaze::Logger::Informer.new(:stderr)
54
+ c = Ramaze::Logger::Informer.new('stderr')
52
55
  [a,b,c].each { |x| x.out.should == $stderr}
53
56
  end
54
57
 
55
- it 'should use IO when supplied' do
56
- i = Ramaze::Informer.new(s = StringIO.new)
58
+ should 'use IO when supplied' do
59
+ i = Ramaze::Logger::Informer.new(s = StringIO.new)
57
60
  i.out.should == s
58
61
  end
59
62
 
60
- it 'should open file otherwise' do
63
+ should 'open file otherwise' do
61
64
  begin
62
- i = Ramaze::Informer.new('tmp.dummy')
65
+ i = Ramaze::Logger::Informer.new('tmp.dummy')
63
66
  out = i.out
64
67
  out.should.be.instance_of(File)
65
68
  out.path.should == 'tmp.dummy'
@@ -68,5 +71,4 @@ describe 'Informer' do
68
71
  File.delete('tmp.dummy')
69
72
  end
70
73
  end
71
-
72
74
  end
@@ -0,0 +1,66 @@
1
+ # Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
2
+ # All files in this distribution are subject to the terms of the MIT license.
3
+
4
+ require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ class SpecLogger
7
+ include Ramaze::Logging
8
+
9
+ attr_reader :history
10
+
11
+ def initialize
12
+ @history = []
13
+ end
14
+
15
+ def log(*args)
16
+ @history << args
17
+ end
18
+ end
19
+
20
+ describe Ramaze::Logging do
21
+ @log = SpecLogger.new
22
+
23
+ should 'provide #info - which calls #to_s' do
24
+ @log.info('info')
25
+ @log.history.last.should == [:info, 'info']
26
+
27
+ @log.info(1, 2)
28
+ @log.history.last(2).should == [[:info, '1'], [:info, '2']]
29
+ end
30
+
31
+ should 'provide #debug - which calls #inspect' do
32
+ @log.debug(:debug)
33
+ @log.history.last.should == [:debug, ':debug']
34
+ end
35
+
36
+ should 'provide #<< as alias for #debug' do
37
+ @log << :<<
38
+ @log.history.last.should == [:debug, ':<<']
39
+ end
40
+
41
+ should 'provide #dev - which calls #inspect' do
42
+ @log.dev(:dev)
43
+ @log.history.last.should == [:dev, ':dev']
44
+ end
45
+
46
+ should 'provide #error - which formats exceptions' do
47
+ @log.error(1)
48
+ @log.history.last.should == [:error, '1']
49
+
50
+ error = StandardError.new('for spec')
51
+ error.set_backtrace(['line 1', 'line 2'])
52
+ @log.error(error)
53
+ @log.history.last(3).should == [
54
+ [:error, "#<StandardError: for spec>"],
55
+ [:error, "line 1"],
56
+ [:error, "line 2"] ]
57
+ end
58
+
59
+ should 'not do anything on #shutdown' do
60
+ @log.shutdown.should == nil
61
+ end
62
+
63
+ should 'answer to #debug? for WEBrick' do
64
+ @log.debug?.should == false
65
+ end
66
+ end