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,23 @@
1
+ class Tables < Erector::Widget
2
+ def content
3
+ table do
4
+
5
+ thead do
6
+ tr do
7
+ th 'Name'
8
+ th 'Age'
9
+ end
10
+ end
11
+
12
+ tbody do
13
+ @users.each do |user|
14
+ tr do
15
+ td user[:name]
16
+ td user[:age]
17
+ end
18
+ end
19
+ end
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,6 @@
1
+ class View < Erector::Widget
2
+ def content
3
+ h2 'Hello, view!'
4
+ rawtext @controller.render_view :external_view
5
+ end
6
+ end
@@ -0,0 +1,68 @@
1
+ require File.expand_path('../../../../spec/helper', __FILE__)
2
+ spec_require 'erector'
3
+
4
+ # Define what view and layout we'll need to load
5
+ Ramaze::App.options.views = 'erector'
6
+ Ramaze::App.options.layouts = 'erector'
7
+
8
+ ##
9
+ # Core spec class for the test.
10
+ # This class is nothing more than a regular controller but is called using Bacon instead of a browser.
11
+ #
12
+ class SpecErector < Ramaze::Controller
13
+ # Map the controller to the root of the server.
14
+ map '/'
15
+
16
+ # Set the engine to Erector. We can't test Erector if we're not using it can we?
17
+ engine :erector
18
+ helper :erector, :thread
19
+ layout :layout
20
+
21
+ # The index method loads a very basic view in a layout.
22
+ def index
23
+ end
24
+
25
+ # The tables method loads a view that contains a html table.
26
+ def tables
27
+ @users = [{:name => 'Yorick Peterse', :age => 18}, {:name => 'Chuck Norris', :age => 9000}, {:name => 'Bob Ross', :age => 53}]
28
+ end
29
+
30
+ # Render a view inside a view
31
+ def view
32
+ end
33
+
34
+ end
35
+
36
+ # Testing time!
37
+ describe Ramaze::View::Erector do
38
+ # The test type is a basic Rack based test.
39
+ behaves_like :rack_test
40
+
41
+ # Render the index view. This is a basic view wrapped in a layout
42
+ it 'Render a basic layout and view' do
43
+ got = get '/'
44
+
45
+ got.status.should.equal 200
46
+ got['Content-Type'].should.equal 'text/html'
47
+ got.body.strip.should.equal '<html><head><title>erector</title></head><body><p>paragraph text</p></body></html>'
48
+ end
49
+
50
+ # Render the tables view
51
+ it 'Render a view with an HTML table' do
52
+ got = get '/tables'
53
+
54
+ got.status.should.equal 200
55
+ got['Content-Type'].should.equal 'text/html'
56
+ got.body.strip.should.equal '<html><head><title>erector</title></head><body><table><thead><tr><th>Name</th><th>Age</th></tr></thead><tbody><tr><td>Yorick Peterse</td><td>18</td></tr><tr><td>Chuck Norris</td><td>9000</td></tr><tr><td>Bob Ross</td><td>53</td></tr></tbody></table></body></html>'
57
+ end
58
+
59
+ # Render a view inside a view
60
+ it 'Render a view inside a view' do
61
+ got = get '/view'
62
+
63
+ got.status.should.equal 200
64
+ got['Content-Type'].should.equal 'text/html'
65
+ got.body.strip.should.equal '<html><head><title>erector</title></head><body><h2>Hello, view!</h2><p>view body.</p></body></html>'
66
+ end
67
+
68
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Erubis Test</title>
4
+ </head>
5
+ <body>
6
+ <h1>Erubis Template</h1>
7
+ </body>
8
+ </html>
@@ -0,0 +1 @@
1
+ <div><%= @num1 + @num2 %></div>
@@ -0,0 +1,73 @@
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
+ spec_require 'erubis'
6
+
7
+ Ramaze::App.options.views = 'erubis'
8
+
9
+ class SpecErubis < Ramaze::Controller
10
+ map '/'
11
+ engine :Erubis
12
+
13
+ def index
14
+ '<h1>Erubis Index</h1>'
15
+ end
16
+
17
+ def links
18
+ '<ul>
19
+ <li><%= a("Index page", :index) %></li>
20
+ <li><%= a("Internal template", :internal) %></li>
21
+ <li><%= a("External template", :external) %></li>
22
+ </ul>'.ui
23
+ end
24
+
25
+ def sum(num1, num2)
26
+ @num1, @num2 = num1.to_i, num2.to_i
27
+ end
28
+ end
29
+
30
+ describe "Ramaze::View::Erubis" do
31
+ behaves_like :rack_test
32
+
33
+ should 'render' do
34
+ got = get('/')
35
+ got.status.should == 200
36
+ got['Content-Type'].should == 'text/html'
37
+ got.body.strip.should == "<h1>Erubis Index</h1>"
38
+ end
39
+
40
+ should 'use other helper methods' do
41
+ got = get('/links')
42
+ got.status.should == 200
43
+ got['Content-Type'].should == 'text/html'
44
+ got.body.strip.should ==
45
+ '<ul>
46
+ <li><a href="/index">Index page</a></li>
47
+ <li><a href="/internal">Internal template</a></li>
48
+ <li><a href="/external">External template</a></li>
49
+ </ul>'
50
+ end
51
+
52
+ should 'render external template' do
53
+ got = get('/external')
54
+ got.status.should == 200
55
+ got['Content-Type'].should == 'text/html'
56
+ got.body.strip.should ==
57
+ "<html>
58
+ <head>
59
+ <title>Erubis Test</title>
60
+ </head>
61
+ <body>
62
+ <h1>Erubis Template</h1>
63
+ </body>
64
+ </html>"
65
+ end
66
+
67
+ should 'render external template with instance variables' do
68
+ got = get('/sum/1/2')
69
+ got.status.should == 200
70
+ got['Content-Type'].should == 'text/html'
71
+ got.body.strip.should == "<div>3</div>"
72
+ end
73
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Ezamar Test</title>
4
+ </head>
5
+ <body>
6
+ <h1>Ezamar Template</h1>
7
+ </body>
8
+ </html>
@@ -0,0 +1 @@
1
+ <div>#{@num1 + @num2}</div>
@@ -0,0 +1,73 @@
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
+ spec_require 'ezamar'
6
+
7
+ Ramaze::App.options.views = 'ezamar'
8
+
9
+ class SpecEzamar < Ramaze::Controller
10
+ map '/'
11
+ engine :Ezamar
12
+
13
+ def index
14
+ '<h1>Ezamar Index</h1>'
15
+ end
16
+
17
+ def links
18
+ '<ul>
19
+ <li>#{a "Index page", r(:index) }</li>
20
+ <li>#{a "Internal template", r(:internal) }</li>
21
+ <li>#{a "External template", r(:external) }</li>
22
+ </ul>'.ui
23
+ end
24
+
25
+ def sum(num1, num2)
26
+ @num1, @num2 = num1.to_i, num2.to_i
27
+ end
28
+ end
29
+
30
+ describe "Ramaze::View::Ezamar" do
31
+ behaves_like :rack_test
32
+
33
+ should 'render' do
34
+ got = get('/')
35
+ got.status.should == 200
36
+ got['Content-Type'].should == 'text/html'
37
+ got.body.strip.should == "<h1>Ezamar Index</h1>"
38
+ end
39
+
40
+ should 'use other helper methods' do
41
+ got = get('/links')
42
+ got.status.should == 200
43
+ got['Content-Type'].should == 'text/html'
44
+ got.body.strip.should ==
45
+ '<ul>
46
+ <li><a href="/index">Index page</a></li>
47
+ <li><a href="/internal">Internal template</a></li>
48
+ <li><a href="/external">External template</a></li>
49
+ </ul>'
50
+ end
51
+
52
+ should 'render external template' do
53
+ got = get('/external')
54
+ got.status.should == 200
55
+ got['Content-Type'].should == 'text/html'
56
+ got.body.strip.should ==
57
+ "<html>
58
+ <head>
59
+ <title>Ezamar Test</title>
60
+ </head>
61
+ <body>
62
+ <h1>Ezamar Template</h1>
63
+ </body>
64
+ </html>"
65
+ end
66
+
67
+ should 'render external template with instance variables' do
68
+ got = get('/sum/1/2')
69
+ got.status.should == 200
70
+ got['Content-Type'].should == 'text/html'
71
+ got.body.strip.should == "<div>3</div>"
72
+ end
73
+ end
@@ -0,0 +1,8 @@
1
+ html do
2
+ head do
3
+ title 'Gestalt Test'
4
+ end
5
+ body do
6
+ h1 'Gestalt Template'
7
+ end
8
+ end
@@ -0,0 +1,94 @@
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
+ spec_require 'ramaze/gestalt'
6
+
7
+ Ramaze::App.options.views = 'gestalt'
8
+
9
+ class SpecGestalt < Ramaze::Controller
10
+ map '/'
11
+ engine :Gestalt
12
+ helper :gestalt
13
+
14
+ def index
15
+ @title = 'Gestalt Index'
16
+ g
17
+ end
18
+
19
+ def links
20
+ g
21
+ end
22
+
23
+ def with_partial
24
+ g
25
+ end
26
+
27
+ def different_module
28
+ g(:foo, SpecGestalDifferentModule)
29
+ end
30
+ end
31
+
32
+ module SpecGestaltView
33
+ def index
34
+ h1 @title
35
+ end
36
+
37
+ def links
38
+ ul do
39
+ li{ a "Index page", :href => rs(:index) }
40
+ li{ a "Internal template", :href => rs(:internal) }
41
+ li{ a "External template", :href => rs(:external) }
42
+ end
43
+ end
44
+
45
+ # def external
46
+ # ol do
47
+ # 3.times{ render_view('template') }
48
+ # end
49
+ # end
50
+
51
+ def with_partial
52
+ ul do
53
+ 3.times{ _partial }
54
+ end
55
+ end
56
+
57
+ def _partial
58
+ li 'List Item'
59
+ end
60
+ end
61
+
62
+ module SpecGestalDifferentModule
63
+ def foo
64
+ p{ 'view module specified'}
65
+ end
66
+ end
67
+
68
+ describe Ramaze::View::Gestalt do
69
+ behaves_like :rack_test
70
+
71
+ should 'use g helper' do
72
+ get('/').body.should == '<h1>Gestalt Index</h1>'
73
+ end
74
+
75
+ should 'use other helper methods' do
76
+ get('/links').body.should ==
77
+ '<ul><li><a href="/index">Index page</a></li><li><a href="/internal">Internal template</a></li><li><a href="/external">External template</a></li></ul>'
78
+ end
79
+
80
+ should 'render external template' do
81
+ get('/external').body.should ==
82
+ "<html><head><title>Gestalt Test</title></head><body><h1>Gestalt Template</h1></body></html>"
83
+ end
84
+
85
+ should 'use method like partials' do
86
+ get('/with_partial').body.should ==
87
+ '<ul><li>List Item</li><li>List Item</li><li>List Item</li></ul>'
88
+ end
89
+
90
+ should 'be able to specify different view module and method' do
91
+ get('/different_module').body.should ==
92
+ '<p>view module specified</p>'
93
+ end
94
+ end
@@ -0,0 +1,5 @@
1
+ %html
2
+ %head
3
+ %title Haml Test
4
+ %body
5
+ %h1 Haml Template
@@ -0,0 +1,2 @@
1
+ %div
2
+ = @num1 + @num2
@@ -0,0 +1,114 @@
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
+ spec_require 'haml'
6
+
7
+ Ramaze::App.options.views = 'haml'
8
+
9
+ class SpecHaml < Ramaze::Controller
10
+ map '/'
11
+ engine :Haml
12
+
13
+ def index
14
+ '%h1 Haml Index'
15
+ end
16
+
17
+ def links
18
+ '
19
+ %ul
20
+ %li
21
+ %a{:href => r(:index)} Index page
22
+ %li
23
+ %a{:href => r(:internal)} Internal template
24
+ %li
25
+ %a{:href => r(:external)} External template
26
+ '.ui
27
+ end
28
+
29
+ def sum(num1, num2)
30
+ @num1, @num2 = num1.to_i, num2.to_i
31
+ end
32
+ end
33
+
34
+ class SpecHamlLayout < Ramaze::Controller
35
+ map '/with_layout'
36
+ engine :Haml
37
+ layout :wrapper
38
+
39
+ RUNS = [1,2,3]
40
+
41
+ def index
42
+ RUNS.shift.to_s
43
+ end
44
+
45
+ def wrapper
46
+ '= @content'
47
+ end
48
+ end
49
+
50
+ describe Ramaze::View::Haml do
51
+ behaves_like :rack_test
52
+
53
+ should 'render' do
54
+ got = get('/')
55
+ got.status.should == 200
56
+ got['Content-Type'].should == 'text/html'
57
+ got.body.strip.should == "<h1>Haml Index</h1>"
58
+ end
59
+
60
+ should 'use other helper methods' do
61
+ got = get('/links')
62
+ got.status.should == 200
63
+ got['Content-Type'].should == 'text/html'
64
+ got.body.strip.should ==
65
+ "<ul>
66
+ <li>
67
+ <a href='/index'>Index page</a>
68
+ </li>
69
+ <li>
70
+ <a href='/internal'>Internal template</a>
71
+ </li>
72
+ <li>
73
+ <a href='/external'>External template</a>
74
+ </li>
75
+ </ul>".gsub(/\n\s+/, "\n")
76
+ end
77
+
78
+ should 'render external template' do
79
+ got = get('/external')
80
+ got.status.should == 200
81
+ got['Content-Type'].should == 'text/html'
82
+ got.body.strip.should ==
83
+ "<html>
84
+ <head>
85
+ <title>Haml Test</title>
86
+ </head>
87
+ <body>
88
+ <h1>Haml Template</h1>
89
+ </body>
90
+ </html>".gsub(/\n\s+/, "\n")
91
+ end
92
+
93
+ should 'render external template with instance variables' do
94
+ got = get('/sum/1/2')
95
+ got.status.should == 200
96
+ got['Content-Type'].should == 'text/html'
97
+ got.body.strip.should ==
98
+ "<div>
99
+ 3
100
+ </div>".gsub(/\n\s+/, "\n")
101
+ end
102
+
103
+ should 'render the wrapped view twice even with caching' do
104
+ got = get('/with_layout')
105
+ got.status.should == 200
106
+ got['Content-Type'].should == 'text/html'
107
+ got.body.strip.should == "1"
108
+
109
+ got = get('/with_layout')
110
+ got.status.should == 200
111
+ got['Content-Type'].should == 'text/html'
112
+ got.body.strip.should == "2"
113
+ end
114
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Liquid Test</title>
4
+ </head>
5
+ <body>
6
+ <h1>Liquid Template</h1>
7
+ </body>
8
+ </html>
@@ -0,0 +1 @@
1
+ <div>{{sum}}</div>
@@ -0,0 +1,73 @@
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
+ spec_require 'liquid'
6
+
7
+ Ramaze::App.options.views = 'liquid'
8
+
9
+ class SpecLiquid < Ramaze::Controller
10
+ map '/'
11
+ engine :Liquid
12
+
13
+ def index
14
+ '<h1>Liquid Index</h1>'
15
+ end
16
+
17
+ def links
18
+ '<ul>
19
+ <li>{% anchor "Index page" index %}</li>
20
+ <li>{% anchor "Internal template" internal %}</li>
21
+ <li>{% anchor "External template" external %}</li>
22
+ </ul>'.ui
23
+ end
24
+
25
+ def sum(num1, num2)
26
+ @sum = num1.to_i + num2.to_i
27
+ end
28
+ end
29
+
30
+ describe 'Ramaze::View::Liquid' do
31
+ behaves_like :rack_test
32
+
33
+ should 'render' do
34
+ got = get('/')
35
+ got.status.should == 200
36
+ got['Content-Type'].should == 'text/html'
37
+ got.body.strip.should == "<h1>Liquid Index</h1>"
38
+ end
39
+
40
+ should 'use custom tags for default helpers' do
41
+ got = get('/links')
42
+ got.status.should == 200
43
+ got['Content-Type'].should == 'text/html'
44
+ got.body.strip.should ==
45
+ '<ul>
46
+ <li><a href="/index">Index page</a></li>
47
+ <li><a href="/internal">Internal template</a></li>
48
+ <li><a href="/external">External template</a></li>
49
+ </ul>'.ui
50
+ end
51
+
52
+ should 'render external template' do
53
+ got = get('/external')
54
+ got.status.should == 200
55
+ got['Content-Type'].should == 'text/html'
56
+ got.body.strip.should ==
57
+ "<html>
58
+ <head>
59
+ <title>Liquid Test</title>
60
+ </head>
61
+ <body>
62
+ <h1>Liquid Template</h1>
63
+ </body>
64
+ </html>"
65
+ end
66
+
67
+ should 'render external template with instance variables' do
68
+ got = get('/sum/1/2')
69
+ got.status.should == 200
70
+ got['Content-Type'].should == 'text/html'
71
+ got.body.strip.should == "<div>3</div>"
72
+ end
73
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Lokar Test</title>
4
+ </head>
5
+ <body>
6
+ <h1>Lokar Template</h1>
7
+ </body>
8
+ </html>
@@ -0,0 +1 @@
1
+ <div>#{@num1 + @num2}</div>
@@ -0,0 +1,78 @@
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
+ spec_precondition 'Lokar should be supported' do
7
+ should.flunk if RUBY_VERSION.to_f < 1.9
8
+ end
9
+
10
+ spec_require 'lokar'
11
+
12
+ Ramaze::App.options.views = 'lokar'
13
+
14
+ class SpecLokar < Ramaze::Controller
15
+ map '/'
16
+ engine :Lokar
17
+
18
+ def index
19
+ '<h1>Lokar Index</h1>'
20
+ end
21
+
22
+ def links
23
+ '<ul>
24
+ <li>#{a "Index page", r(:index) }</li>
25
+ <li>#{a "Internal template", r(:internal) }</li>
26
+ <li>#{a "External template", r(:external) }</li>
27
+ </ul>'.ui
28
+ end
29
+
30
+ def sum(num1, num2)
31
+ @num1, @num2 = num1.to_i, num2.to_i
32
+ end
33
+ end
34
+
35
+ describe "Ramaze::View::Lokar" do
36
+ behaves_like :rack_test
37
+
38
+ should 'render' do
39
+ got = get('/')
40
+ got.status.should == 200
41
+ got['Content-Type'].should == 'text/html'
42
+ got.body.strip.should == "<h1>Lokar Index</h1>"
43
+ end
44
+
45
+ should 'use other helper methods' do
46
+ got = get('/links')
47
+ got.status.should == 200
48
+ got['Content-Type'].should == 'text/html'
49
+ got.body.strip.should ==
50
+ '<ul>
51
+ <li><a href="/index">Index page</a></li>
52
+ <li><a href="/internal">Internal template</a></li>
53
+ <li><a href="/external">External template</a></li>
54
+ </ul>'
55
+ end
56
+
57
+ should 'render external template' do
58
+ got = get('/external')
59
+ got.status.should == 200
60
+ got['Content-Type'].should == 'text/html'
61
+ got.body.strip.should ==
62
+ "<html>
63
+ <head>
64
+ <title>Lokar Test</title>
65
+ </head>
66
+ <body>
67
+ <h1>Lokar Template</h1>
68
+ </body>
69
+ </html>"
70
+ end
71
+
72
+ should 'render external template with instance variables' do
73
+ got = get('/sum/1/2')
74
+ got.status.should == 200
75
+ got['Content-Type'].should == 'text/html'
76
+ got.body.strip.should == "<div>3</div>"
77
+ end
78
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Mustache Test</title>
4
+ </head>
5
+ <body>
6
+ <h1>Mustache Template</h1>
7
+ </body>
8
+ </html>