waves 0.7.7 → 0.8.0

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 (402) hide show
  1. data/bin/waves +17 -72
  2. data/doc/HISTORY +1 -44
  3. data/doc/README +1 -0
  4. data/doc/VERSION +1 -0
  5. data/lib/caches/file.rb +48 -0
  6. data/lib/caches/memcached.rb +40 -0
  7. data/lib/caches/simple.rb +25 -0
  8. data/lib/caches/synchronized.rb +25 -0
  9. data/lib/commands/console.rb +35 -0
  10. data/lib/commands/generate.rb +52 -0
  11. data/lib/commands/help.rb +5 -0
  12. data/lib/commands/{waves-server.rb → server.rb} +16 -3
  13. data/lib/dispatchers/base.rb +21 -20
  14. data/lib/dispatchers/default.rb +11 -63
  15. data/lib/ext/float.rb +13 -0
  16. data/lib/{utilities → ext}/hash.rb +2 -2
  17. data/lib/{utilities → ext}/integer.rb +5 -2
  18. data/lib/ext/kernel.rb +20 -0
  19. data/lib/ext/module.rb +20 -0
  20. data/lib/{utilities → ext}/object.rb +3 -5
  21. data/lib/ext/string.rb +20 -0
  22. data/lib/ext/symbol.rb +11 -0
  23. data/lib/ext/tempfile.rb +5 -0
  24. data/lib/foundations/classic.rb +64 -0
  25. data/lib/foundations/compact.rb +50 -0
  26. data/lib/helpers/basic.rb +11 -0
  27. data/lib/helpers/doc_type.rb +34 -0
  28. data/lib/helpers/extended.rb +21 -0
  29. data/lib/helpers/form.rb +3 -1
  30. data/lib/helpers/formatting.rb +3 -3
  31. data/lib/helpers/layouts.rb +37 -0
  32. data/lib/helpers/model.rb +8 -4
  33. data/lib/helpers/view.rb +2 -4
  34. data/lib/layers/inflect/english.rb +48 -5
  35. data/lib/layers/mvc.rb +18 -18
  36. data/lib/layers/mvc/controllers.rb +41 -0
  37. data/lib/layers/mvc/extensions.rb +52 -0
  38. data/lib/layers/orm/{active_record.rb → providers/active_record.rb} +9 -14
  39. data/lib/layers/orm/{active_record → providers/active_record}/migrations/empty.rb.erb +0 -0
  40. data/lib/layers/orm/{active_record → providers/active_record}/tasks/generate.rb +1 -1
  41. data/lib/layers/orm/{active_record → providers/active_record}/tasks/schema.rb +1 -1
  42. data/lib/layers/orm/{data_mapper.rb → providers/data_mapper.rb} +3 -4
  43. data/lib/layers/orm/providers/filebase.rb +25 -0
  44. data/lib/layers/orm/{sequel.rb → providers/sequel.rb} +11 -7
  45. data/lib/layers/orm/{sequel → providers/sequel}/migrations/empty.rb.erb +0 -0
  46. data/lib/layers/orm/{sequel → providers/sequel}/tasks/generate.rb +5 -3
  47. data/lib/layers/orm/{sequel → providers/sequel}/tasks/schema.rb +2 -2
  48. data/lib/{renderers → layers/renderers}/erubis.rb +10 -13
  49. data/lib/{renderers → layers/renderers}/haml.rb +27 -25
  50. data/lib/layers/renderers/markaby.rb +29 -0
  51. data/lib/matchers/accept.rb +21 -0
  52. data/lib/matchers/base.rb +30 -0
  53. data/lib/matchers/content_type.rb +17 -0
  54. data/lib/matchers/path.rb +67 -0
  55. data/lib/matchers/query.rb +21 -0
  56. data/lib/matchers/request.rb +27 -0
  57. data/lib/matchers/resource.rb +19 -0
  58. data/lib/matchers/traits.rb +19 -0
  59. data/lib/matchers/uri.rb +20 -0
  60. data/lib/renderers/mixin.rb +15 -29
  61. data/lib/resources/mixin.rb +132 -0
  62. data/lib/resources/paths.rb +34 -0
  63. data/lib/runtime/configuration.rb +55 -135
  64. data/lib/runtime/console.rb +4 -1
  65. data/lib/runtime/logger.rb +24 -48
  66. data/lib/runtime/mime_types.rb +516 -2
  67. data/lib/runtime/mocks.rb +14 -0
  68. data/lib/runtime/monitor.rb +32 -0
  69. data/lib/runtime/request.rb +107 -39
  70. data/lib/runtime/response.rb +5 -2
  71. data/lib/runtime/response_mixin.rb +43 -22
  72. data/lib/runtime/runtime.rb +67 -0
  73. data/lib/runtime/server.rb +14 -101
  74. data/lib/runtime/session.rb +4 -43
  75. data/lib/runtime/worker.rb +86 -0
  76. data/lib/servers/base.rb +42 -0
  77. data/lib/servers/mongrel.rb +13 -0
  78. data/lib/servers/webrick.rb +13 -0
  79. data/lib/tasks/gem.rb +1 -0
  80. data/lib/tasks/generate.rb +67 -62
  81. data/lib/views/errors.rb +49 -0
  82. data/lib/views/mixin.rb +34 -82
  83. data/lib/waves.rb +36 -57
  84. data/samples/blog/Rakefile +16 -5
  85. data/samples/blog/blog.db +0 -0
  86. data/samples/blog/configurations/default.rb +11 -0
  87. data/samples/blog/configurations/development.rb +9 -11
  88. data/samples/blog/configurations/production.rb +11 -15
  89. data/samples/blog/log/waves.production +3 -0
  90. data/samples/blog/models/comment.rb +9 -0
  91. data/samples/blog/models/entry.rb +17 -0
  92. data/samples/blog/public/css/site.css +13 -2
  93. data/samples/blog/public/javascript/jquery-1.2.6.min.js +32 -0
  94. data/samples/blog/resources/entry.rb +39 -0
  95. data/samples/blog/resources/map.rb +9 -0
  96. data/samples/blog/schema/migrations/001_initial_schema.rb +3 -3
  97. data/samples/blog/schema/migrations/002_add_comments.rb +2 -2
  98. data/samples/blog/startup.rb +8 -6
  99. data/samples/blog/templates/comment/add.mab +6 -4
  100. data/samples/blog/templates/comment/list.mab +4 -4
  101. data/samples/blog/templates/entry/{editor.mab → edit.mab} +7 -6
  102. data/samples/blog/templates/entry/list.mab +10 -5
  103. data/samples/blog/templates/entry/show.mab +16 -7
  104. data/samples/blog/templates/entry/summary.mab +8 -4
  105. data/samples/blog/templates/errors/not_found_404.mab +6 -1
  106. data/samples/blog/templates/layouts/default.mab +5 -3
  107. data/samples/blog/templates/waves/status.mab +85 -0
  108. data/{app → templates/classic}/Rakefile +58 -0
  109. data/templates/classic/configurations/default.rb.erb +9 -0
  110. data/{app → templates/classic}/configurations/development.rb.erb +3 -8
  111. data/{app → templates/classic}/configurations/production.rb.erb +3 -5
  112. data/templates/classic/resources/map.rb.erb +8 -0
  113. data/templates/classic/startup.rb.erb +11 -0
  114. data/{app → templates/classic}/templates/errors/not_found_404.mab +0 -0
  115. data/{app → templates/classic}/templates/errors/server_error_500.mab +0 -0
  116. data/{app → templates/classic}/templates/layouts/default.mab +0 -0
  117. data/templates/compact/startup.rb.erb +11 -0
  118. metadata +257 -610
  119. data/app/bin/waves-console +0 -4
  120. data/app/bin/waves-server +0 -4
  121. data/app/configurations/mapping.rb.erb +0 -14
  122. data/app/controllers/.gitignore +0 -0
  123. data/app/doc/.gitignore +0 -0
  124. data/app/helpers/.gitignore +0 -0
  125. data/app/lib/application.rb.erb +0 -5
  126. data/app/lib/tasks/.gitignore +0 -0
  127. data/app/log/.gitignore +0 -0
  128. data/app/models/.gitignore +0 -0
  129. data/app/public/css/.gitignore +0 -0
  130. data/app/public/flash/.gitignore +0 -0
  131. data/app/public/images/.gitignore +0 -0
  132. data/app/public/javascript/.gitignore +0 -0
  133. data/app/schema/migrations/.gitignore +0 -0
  134. data/app/startup.rb +0 -5
  135. data/app/tmp/sessions/.gitignore +0 -0
  136. data/app/views/.gitignore +0 -0
  137. data/bin/waves-console +0 -4
  138. data/bin/waves-server +0 -4
  139. data/doc/rdoc/classes/Erubis/Context.html +0 -218
  140. data/doc/rdoc/classes/Kernel.html +0 -145
  141. data/doc/rdoc/classes/Symbol.html +0 -154
  142. data/doc/rdoc/classes/Tempfile.html +0 -161
  143. data/doc/rdoc/classes/Waves.html +0 -455
  144. data/doc/rdoc/classes/Waves/Application.html +0 -371
  145. data/doc/rdoc/classes/Waves/Blackboard.html +0 -296
  146. data/doc/rdoc/classes/Waves/Configurations.html +0 -283
  147. data/doc/rdoc/classes/Waves/Configurations/Base.html +0 -209
  148. data/doc/rdoc/classes/Waves/Configurations/Default.html +0 -237
  149. data/doc/rdoc/classes/Waves/Console.html +0 -187
  150. data/doc/rdoc/classes/Waves/Controllers.html +0 -203
  151. data/doc/rdoc/classes/Waves/Controllers/Base.html +0 -151
  152. data/doc/rdoc/classes/Waves/Controllers/Mixin.html +0 -312
  153. data/doc/rdoc/classes/Waves/Dispatchers.html +0 -118
  154. data/doc/rdoc/classes/Waves/Dispatchers/Base.html +0 -198
  155. data/doc/rdoc/classes/Waves/Dispatchers/Default.html +0 -224
  156. data/doc/rdoc/classes/Waves/Dispatchers/NotFoundError.html +0 -122
  157. data/doc/rdoc/classes/Waves/Dispatchers/Redirect.html +0 -173
  158. data/doc/rdoc/classes/Waves/Foundations.html +0 -131
  159. data/doc/rdoc/classes/Waves/Foundations/Default.html +0 -179
  160. data/doc/rdoc/classes/Waves/Foundations/Simple.html +0 -167
  161. data/doc/rdoc/classes/Waves/Helpers.html +0 -176
  162. data/doc/rdoc/classes/Waves/Helpers/AssetHelper.html +0 -212
  163. data/doc/rdoc/classes/Waves/Helpers/Common.html +0 -213
  164. data/doc/rdoc/classes/Waves/Helpers/Default.html +0 -135
  165. data/doc/rdoc/classes/Waves/Helpers/Form.html +0 -201
  166. data/doc/rdoc/classes/Waves/Helpers/Formatting.html +0 -232
  167. data/doc/rdoc/classes/Waves/Helpers/Model.html +0 -194
  168. data/doc/rdoc/classes/Waves/Helpers/NumberHelper.html +0 -165
  169. data/doc/rdoc/classes/Waves/Helpers/TagHelper.html +0 -226
  170. data/doc/rdoc/classes/Waves/Helpers/UrlHelper.html +0 -242
  171. data/doc/rdoc/classes/Waves/Helpers/View.html +0 -163
  172. data/doc/rdoc/classes/Waves/Inflect/InflectorMethods.html +0 -475
  173. data/doc/rdoc/classes/Waves/Layers.html +0 -175
  174. data/doc/rdoc/classes/Waves/Layers/DefaultErrors.html +0 -161
  175. data/doc/rdoc/classes/Waves/Layers/Inflect.html +0 -119
  176. data/doc/rdoc/classes/Waves/Layers/Inflect/English.html +0 -168
  177. data/doc/rdoc/classes/Waves/Layers/Inflect/English/Rules.html +0 -112
  178. data/doc/rdoc/classes/Waves/Layers/Inflect/English/StringMethods.html +0 -194
  179. data/doc/rdoc/classes/Waves/Layers/MVC.html +0 -204
  180. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord.html +0 -239
  181. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/ControllerMethods.html +0 -246
  182. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/Symbol.html +0 -132
  183. data/doc/rdoc/classes/Waves/Layers/ORM/DataMapper.html +0 -166
  184. data/doc/rdoc/classes/Waves/Layers/ORM/Filebase.html +0 -157
  185. data/doc/rdoc/classes/Waves/Layers/ORM/Sequel.html +0 -232
  186. data/doc/rdoc/classes/Waves/Layers/ORM/Sequel/ControllerMethods.html +0 -246
  187. data/doc/rdoc/classes/Waves/Layers/Simple.html +0 -169
  188. data/doc/rdoc/classes/Waves/Layers/SimpleErrors.html +0 -159
  189. data/doc/rdoc/classes/Waves/Logger.html +0 -288
  190. data/doc/rdoc/classes/Waves/Mapping.html +0 -760
  191. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls.html +0 -129
  192. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/GetRules.html +0 -174
  193. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/RestRules.html +0 -180
  194. data/doc/rdoc/classes/Waves/MimeTypes.html +0 -200
  195. data/doc/rdoc/classes/Waves/Renderers/Erubis.html +0 -162
  196. data/doc/rdoc/classes/Waves/Renderers/Haml.html +0 -160
  197. data/doc/rdoc/classes/Waves/Renderers/Markaby.html +0 -167
  198. data/doc/rdoc/classes/Waves/Renderers/Mixin.html +0 -191
  199. data/doc/rdoc/classes/Waves/Renderers/Scope.html +0 -181
  200. data/doc/rdoc/classes/Waves/Request.html +0 -441
  201. data/doc/rdoc/classes/Waves/Request/ParseError.html +0 -111
  202. data/doc/rdoc/classes/Waves/Response.html +0 -283
  203. data/doc/rdoc/classes/Waves/ResponseMixin.html +0 -460
  204. data/doc/rdoc/classes/Waves/ResponseProxy.html +0 -269
  205. data/doc/rdoc/classes/Waves/Server.html +0 -488
  206. data/doc/rdoc/classes/Waves/Session.html +0 -330
  207. data/doc/rdoc/classes/Waves/Utilities/Hash.html +0 -185
  208. data/doc/rdoc/classes/Waves/Utilities/Integer.html +0 -424
  209. data/doc/rdoc/classes/Waves/Utilities/Module.html +0 -174
  210. data/doc/rdoc/classes/Waves/Utilities/Object.html +0 -155
  211. data/doc/rdoc/classes/Waves/Utilities/Proc.html +0 -145
  212. data/doc/rdoc/classes/Waves/Utilities/String.html +0 -290
  213. data/doc/rdoc/classes/Waves/Views.html +0 -278
  214. data/doc/rdoc/classes/Waves/Views/Base.html +0 -118
  215. data/doc/rdoc/classes/Waves/Views/Mixin.html +0 -279
  216. data/doc/rdoc/classes/Waves/Views/NoTemplateError.html +0 -111
  217. data/doc/rdoc/created.rid +0 -1
  218. data/doc/rdoc/files/README_rdoc.html +0 -415
  219. data/doc/rdoc/files/bin/waves.html +0 -135
  220. data/doc/rdoc/files/doc/HISTORY.html +0 -265
  221. data/doc/rdoc/files/lib/commands/waves-console_rb.html +0 -110
  222. data/doc/rdoc/files/lib/commands/waves-server_rb.html +0 -108
  223. data/doc/rdoc/files/lib/controllers/base_rb.html +0 -101
  224. data/doc/rdoc/files/lib/controllers/mixin_rb.html +0 -101
  225. data/doc/rdoc/files/lib/dispatchers/base_rb.html +0 -101
  226. data/doc/rdoc/files/lib/dispatchers/default_rb.html +0 -101
  227. data/doc/rdoc/files/lib/foundations/default_rb.html +0 -101
  228. data/doc/rdoc/files/lib/foundations/simple_rb.html +0 -101
  229. data/doc/rdoc/files/lib/helpers/asset_helper_rb.html +0 -101
  230. data/doc/rdoc/files/lib/helpers/common_rb.html +0 -101
  231. data/doc/rdoc/files/lib/helpers/default_rb.html +0 -101
  232. data/doc/rdoc/files/lib/helpers/form_rb.html +0 -101
  233. data/doc/rdoc/files/lib/helpers/formatting_rb.html +0 -108
  234. data/doc/rdoc/files/lib/helpers/model_rb.html +0 -101
  235. data/doc/rdoc/files/lib/helpers/number_helper_rb.html +0 -101
  236. data/doc/rdoc/files/lib/helpers/tag_helper_rb.html +0 -101
  237. data/doc/rdoc/files/lib/helpers/url_helper_rb.html +0 -101
  238. data/doc/rdoc/files/lib/helpers/view_rb.html +0 -101
  239. data/doc/rdoc/files/lib/layers/default_errors_rb.html +0 -101
  240. data/doc/rdoc/files/lib/layers/inflect/english/rules_rb.html +0 -101
  241. data/doc/rdoc/files/lib/layers/inflect/english/string_rb.html +0 -101
  242. data/doc/rdoc/files/lib/layers/inflect/english_rb.html +0 -109
  243. data/doc/rdoc/files/lib/layers/mvc_rb.html +0 -101
  244. data/doc/rdoc/files/lib/layers/orm/active_record/tasks/generate_rb.html +0 -101
  245. data/doc/rdoc/files/lib/layers/orm/active_record/tasks/schema_rb.html +0 -101
  246. data/doc/rdoc/files/lib/layers/orm/active_record_rb.html +0 -108
  247. data/doc/rdoc/files/lib/layers/orm/data_mapper_rb.html +0 -108
  248. data/doc/rdoc/files/lib/layers/orm/filebase_rb.html +0 -101
  249. data/doc/rdoc/files/lib/layers/orm/migration_rb.html +0 -101
  250. data/doc/rdoc/files/lib/layers/orm/sequel/tasks/generate_rb.html +0 -101
  251. data/doc/rdoc/files/lib/layers/orm/sequel/tasks/schema_rb.html +0 -101
  252. data/doc/rdoc/files/lib/layers/orm/sequel_rb.html +0 -108
  253. data/doc/rdoc/files/lib/layers/simple_errors_rb.html +0 -101
  254. data/doc/rdoc/files/lib/layers/simple_rb.html +0 -101
  255. data/doc/rdoc/files/lib/mapping/mapping_rb.html +0 -101
  256. data/doc/rdoc/files/lib/mapping/pretty_urls_rb.html +0 -101
  257. data/doc/rdoc/files/lib/renderers/erubis_rb.html +0 -108
  258. data/doc/rdoc/files/lib/renderers/haml_rb.html +0 -108
  259. data/doc/rdoc/files/lib/renderers/markaby_rb.html +0 -108
  260. data/doc/rdoc/files/lib/renderers/mixin_rb.html +0 -101
  261. data/doc/rdoc/files/lib/runtime/application_rb.html +0 -107
  262. data/doc/rdoc/files/lib/runtime/blackboard_rb.html +0 -101
  263. data/doc/rdoc/files/lib/runtime/configuration_rb.html +0 -101
  264. data/doc/rdoc/files/lib/runtime/console_rb.html +0 -101
  265. data/doc/rdoc/files/lib/runtime/debugger_rb.html +0 -101
  266. data/doc/rdoc/files/lib/runtime/logger_rb.html +0 -108
  267. data/doc/rdoc/files/lib/runtime/mime_types_rb.html +0 -101
  268. data/doc/rdoc/files/lib/runtime/request_rb.html +0 -101
  269. data/doc/rdoc/files/lib/runtime/response_mixin_rb.html +0 -101
  270. data/doc/rdoc/files/lib/runtime/response_proxy_rb.html +0 -101
  271. data/doc/rdoc/files/lib/runtime/response_rb.html +0 -101
  272. data/doc/rdoc/files/lib/runtime/server_rb.html +0 -108
  273. data/doc/rdoc/files/lib/runtime/session_rb.html +0 -101
  274. data/doc/rdoc/files/lib/tasks/cluster_rb.html +0 -101
  275. data/doc/rdoc/files/lib/tasks/gem_rb.html +0 -108
  276. data/doc/rdoc/files/lib/tasks/generate_rb.html +0 -101
  277. data/doc/rdoc/files/lib/utilities/hash_rb.html +0 -101
  278. data/doc/rdoc/files/lib/utilities/inflect_rb.html +0 -111
  279. data/doc/rdoc/files/lib/utilities/integer_rb.html +0 -101
  280. data/doc/rdoc/files/lib/utilities/module_rb.html +0 -101
  281. data/doc/rdoc/files/lib/utilities/object_rb.html +0 -101
  282. data/doc/rdoc/files/lib/utilities/proc_rb.html +0 -101
  283. data/doc/rdoc/files/lib/utilities/string_rb.html +0 -101
  284. data/doc/rdoc/files/lib/utilities/symbol_rb.html +0 -101
  285. data/doc/rdoc/files/lib/utilities/tempfile_rb.html +0 -115
  286. data/doc/rdoc/files/lib/views/base_rb.html +0 -101
  287. data/doc/rdoc/files/lib/views/mixin_rb.html +0 -101
  288. data/doc/rdoc/files/lib/waves_rb.html +0 -195
  289. data/doc/rdoc/fr_class_index.html +0 -104
  290. data/doc/rdoc/fr_file_index.html +0 -97
  291. data/doc/rdoc/fr_method_index.html +0 -233
  292. data/doc/rdoc/index.html +0 -24
  293. data/doc/rdoc/rdoc-style.css +0 -208
  294. data/lib/commands/waves-console.rb +0 -21
  295. data/lib/controllers/base.rb +0 -11
  296. data/lib/controllers/mixin.rb +0 -165
  297. data/lib/foundations/default.rb +0 -27
  298. data/lib/foundations/simple.rb +0 -30
  299. data/lib/helpers/asset_helper.rb +0 -67
  300. data/lib/helpers/common.rb +0 -66
  301. data/lib/helpers/default.rb +0 -13
  302. data/lib/helpers/number_helper.rb +0 -25
  303. data/lib/helpers/tag_helper.rb +0 -58
  304. data/lib/helpers/url_helper.rb +0 -77
  305. data/lib/layers/default_errors.rb +0 -26
  306. data/lib/layers/inflect/english/rules.rb +0 -88
  307. data/lib/layers/inflect/english/string.rb +0 -24
  308. data/lib/layers/orm/filebase.rb +0 -22
  309. data/lib/layers/simple.rb +0 -32
  310. data/lib/layers/simple_errors.rb +0 -23
  311. data/lib/mapping/mapping.rb +0 -289
  312. data/lib/mapping/pretty_urls.rb +0 -96
  313. data/lib/renderers/markaby.rb +0 -33
  314. data/lib/runtime/application.rb +0 -69
  315. data/lib/runtime/blackboard.rb +0 -57
  316. data/lib/runtime/debugger.rb +0 -9
  317. data/lib/runtime/response_proxy.rb +0 -30
  318. data/lib/tasks/cluster.rb +0 -26
  319. data/lib/utilities/inflect.rb +0 -110
  320. data/lib/utilities/module.rb +0 -21
  321. data/lib/utilities/proc.rb +0 -16
  322. data/lib/utilities/string.rb +0 -49
  323. data/lib/utilities/symbol.rb +0 -10
  324. data/lib/utilities/tempfile.rb +0 -9
  325. data/lib/views/base.rb +0 -9
  326. data/samples/blog/bin/waves-console +0 -3
  327. data/samples/blog/bin/waves-server +0 -3
  328. data/samples/blog/configurations/mapping.rb +0 -23
  329. data/samples/blog/doc/EMTPY +0 -0
  330. data/samples/blog/lib/application.rb +0 -5
  331. data/samples/jub/Rakefile +0 -72
  332. data/samples/jub/bin/waves-console +0 -4
  333. data/samples/jub/bin/waves-server +0 -4
  334. data/samples/jub/configurations/development.rb +0 -31
  335. data/samples/jub/configurations/mapping.rb +0 -18
  336. data/samples/jub/configurations/production.rb +0 -31
  337. data/samples/jub/lib/application.rb +0 -5
  338. data/samples/jub/startup.rb +0 -6
  339. data/samples/jub/templates/errors/not_found_404.mab +0 -2
  340. data/samples/jub/templates/errors/server_error_500.mab +0 -2
  341. data/samples/jub/templates/layouts/default.mab +0 -14
  342. data/verify/app_generation/helpers.rb +0 -24
  343. data/verify/app_generation/startup.rb +0 -39
  344. data/verify/blackboard/blackboard_verify.rb +0 -92
  345. data/verify/blackboard/helpers.rb +0 -5
  346. data/verify/configurations/attributes.rb +0 -37
  347. data/verify/configurations/helpers.rb +0 -1
  348. data/verify/configurations/rack_integration.rb +0 -29
  349. data/verify/controllers/base.rb +0 -37
  350. data/verify/controllers/helpers.rb +0 -13
  351. data/verify/controllers/interface.rb +0 -51
  352. data/verify/core/helpers.rb +0 -3
  353. data/verify/core/utilities.rb +0 -177
  354. data/verify/foundations/default.rb +0 -86
  355. data/verify/foundations/default_application/Rakefile +0 -14
  356. data/verify/foundations/default_application/bin/waves-console +0 -3
  357. data/verify/foundations/default_application/bin/waves-server +0 -3
  358. data/verify/foundations/default_application/configurations/development.rb +0 -26
  359. data/verify/foundations/default_application/configurations/mapping.rb +0 -14
  360. data/verify/foundations/default_application/configurations/production.rb +0 -30
  361. data/verify/foundations/default_application/controllers/default.rb +0 -15
  362. data/verify/foundations/default_application/controllers/loaded.rb +0 -15
  363. data/verify/foundations/default_application/defaultapplication.db +0 -0
  364. data/verify/foundations/default_application/helpers/loaded.rb +0 -10
  365. data/verify/foundations/default_application/lib/application.rb +0 -5
  366. data/verify/foundations/default_application/models/default.rb +0 -13
  367. data/verify/foundations/default_application/models/loaded.rb +0 -13
  368. data/verify/foundations/default_application/schema/migrations/templates/empty.rb.erb +0 -9
  369. data/verify/foundations/default_application/startup.rb +0 -7
  370. data/verify/foundations/default_application/templates/errors/not_found_404.mab +0 -2
  371. data/verify/foundations/default_application/templates/errors/server_error_500.mab +0 -2
  372. data/verify/foundations/default_application/templates/layouts/default.mab +0 -14
  373. data/verify/foundations/default_application/views/default.rb +0 -7
  374. data/verify/foundations/default_application/views/loaded.rb +0 -15
  375. data/verify/foundations/helpers.rb +0 -1
  376. data/verify/foundations/simple.rb +0 -25
  377. data/verify/helpers.rb +0 -76
  378. data/verify/layers/data_mapper/association_verify.rb +0 -87
  379. data/verify/layers/default_errors.rb +0 -29
  380. data/verify/layers/helpers.rb +0 -1
  381. data/verify/layers/migration.rb +0 -33
  382. data/verify/layers/sequel/model.rb +0 -41
  383. data/verify/layers/sequeltest.db +0 -0
  384. data/verify/mapping/always.rb +0 -19
  385. data/verify/mapping/filters.rb +0 -65
  386. data/verify/mapping/handle.rb +0 -24
  387. data/verify/mapping/helpers.rb +0 -7
  388. data/verify/mapping/matches.rb +0 -27
  389. data/verify/mapping/named.rb +0 -29
  390. data/verify/mapping/options.rb +0 -17
  391. data/verify/mapping/path.rb +0 -40
  392. data/verify/mapping/response_proxy.rb +0 -50
  393. data/verify/mapping/threaded.rb +0 -25
  394. data/verify/requests/helpers.rb +0 -16
  395. data/verify/requests/request.rb +0 -73
  396. data/verify/requests/response.rb +0 -59
  397. data/verify/requests/session.rb +0 -54
  398. data/verify/views/helpers.rb +0 -1
  399. data/verify/views/rendering.rb +0 -34
  400. data/verify/views/templates/foo.erb +0 -0
  401. data/verify/views/templates/moo.erb +0 -0
  402. data/verify/views/templates/moo.mab +0 -0
@@ -1,278 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Waves::Views</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Waves::Views</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/views/base_rb.html">
59
- lib/views/base.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/views/mixin_rb.html">
63
- lib/views/mixin.rb
64
- </a>
65
- <br />
66
- </td>
67
- </tr>
68
-
69
- </table>
70
- </div>
71
- <!-- banner header -->
72
-
73
- <div id="bodyContent">
74
-
75
-
76
-
77
- <div id="contextContent">
78
-
79
- <div id="description">
80
- <p>
81
- <a href="Views.html">Views</a> in <a href="../Waves.html">Waves</a> are
82
- ultimately responsible for generating the response body. <a
83
- href="Views.html">Views</a> mirror controllers - both have full access to
84
- the request and response, and both may modify the response and even
85
- short-circuit the request processing and return a result by calling
86
- redirect or calling <a href="Response.html#M000171">Response#finish</a>.
87
- </p>
88
- <p>
89
- <a href="Views.html">Views</a>, like controllers, are classes with methods
90
- that are invoked by a mapping block (see <a
91
- href="Mapping.html">Waves::Mapping</a>). View instance methods take an
92
- assigns hash that are typically converted into instance variables accesible
93
- from within a template.
94
- </p>
95
- <p>
96
- Like controllers, a default implementation is provided by the
97
- <tt>waves</tt> command when you first create your application. This default
98
- can be overridden to change the behaviors for all views, or you can
99
- explicitly define a View class to provide specific behavior for one view.
100
- </p>
101
- <p>
102
- The default implementation simply determines which template to render and
103
- renders it, returning the result as a string. This machinery is provided by
104
- the View mixin, so it is easy to create your own View implementations.
105
- </p>
106
- <h1>Templates</h1>
107
- <p>
108
- Although you won&#8216;t typically need to modify or define View classes,
109
- you will often create and modify templates. Templates can be evaluated
110
- using any registered Renderer. Two are presently packaged with <a
111
- href="../Waves.html">Waves</a>: Markaby and Erubis. Templates have access
112
- to the assigns hash passed to the view method as instance variables. These
113
- can be explicitly defined by the mapping file or whomever is invoking the
114
- view.
115
- </p>
116
- <p>
117
- <b>Example</b>
118
- </p>
119
- <pre>
120
- # Find the story named 'home' and pass it as @story into the &quot;story/show&quot; template
121
- use( :story ) | controller { find( 'home' ) } | view { |x| show( :story =&gt; x ) }
122
- </pre>
123
- <h1><a href="Helpers.html">Helpers</a></h1>
124
- <p>
125
- Helper methods can be defined for any view template by simply defining them
126
- within the default Helper module in <tt>helpers/default.rb</tt> of the
127
- generated application. <a href="Helpers.html">Helpers</a> specific to a
128
- particular View class can be explicitly defined by creating a helper module
129
- that corresponds to the View class. For examples, for the <tt>User</tt>
130
- View class, you would define a helper module in <tt>user.rb</tt> named
131
- <tt>User</tt>.
132
- </p>
133
- <p>
134
- The default helper class initially includes a wide-variety of helpers,
135
- including helpers for layouts, Textile formatting, rendering forms, and
136
- nested views, as well as helpers for accessing the request and response
137
- objects. More helpers will be added in future releases, but in many cases,
138
- there is no need to include all of them in your application.
139
- </p>
140
- <h1>Layouts</h1>
141
- <p>
142
- Layouts are defined using the <tt>Layout</tt> view class, and layout
143
- templates are placed in the <tt>layout</tt> directory of the
144
- <tt>templates</tt> directory. Layouts are explicitly set within a template
145
- using the <tt>layout</tt> method.
146
- </p>
147
- <p>
148
- <b>Example</b>
149
- </p>
150
- <pre>
151
- layout :default, :title =&gt; @story.title do
152
- h1 @story.title
153
- textile @story.content
154
- end
155
- </pre>
156
- <p>
157
- The layout method takes a name and an assigns hash that will be available
158
- within the layout template as instance variables. In this example,
159
- <tt>@title</tt> will be defined as <tt>@story.title</tt> within the layout
160
- template named &#8216;default.&#8217;
161
- </p>
162
- <p>
163
- Any number of layouts may be included within a single view, and layouts may
164
- even be nested within layouts. This makes it possible to create large
165
- numbers of highly structured views that can be easily changed with minimal
166
- effort. For example, you might specify a layout associated with form
167
- elements. By incorporating this into your views as a <tt>layout</tt>
168
- template, you can make changes across all your forms by changing this
169
- single template.
170
- </p>
171
- <h1>Nested <a href="Views.html">Views</a></h1>
172
- <p>
173
- It is easy to include one view inside another. A common use for this is to
174
- define one set of templates for reusable content &#8216;fragments&#8217;
175
- (somewhat akin to partials in Rails) and another set that incorporate these
176
- fragments into specific layouts. Including a view from within another view
177
- is done, logically enough, using the <tt>view</tt> method.
178
- </p>
179
- <p>
180
- <b>Example</b>
181
- </p>
182
- <pre>
183
- # include the summary view for Story
184
- view :story, :summary, :story =&gt; @story
185
- </pre>
186
- <h1><a href="Request.html">Request</a> And <a href="Response.html">Response</a> Objects</h1>
187
- <p>
188
- As always, the request and response objects, and a wide-variety of
189
- short-cut methods, are available within view templates via the <a
190
- href="ResponseMixin.html">Waves::ResponseMixin</a>.
191
- </p>
192
-
193
- </div>
194
-
195
-
196
- </div>
197
-
198
- <div id="method-list">
199
- <h3 class="section-bar">Methods</h3>
200
-
201
- <div class="name-list">
202
- <a href="#M000022">renderers</a>&nbsp;&nbsp;
203
- </div>
204
- </div>
205
-
206
- </div>
207
-
208
-
209
- <!-- if includes -->
210
-
211
- <div id="section">
212
-
213
- <div id="class-list">
214
- <h3 class="section-bar">Classes and Modules</h3>
215
-
216
- Module <a href="Views/Mixin.html" class="link">Waves::Views::Mixin</a><br />
217
- Class <a href="Views/Base.html" class="link">Waves::Views::Base</a><br />
218
- Class <a href="Views/NoTemplateError.html" class="link">Waves::Views::NoTemplateError</a><br />
219
-
220
- </div>
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
- <!-- if method_list -->
229
- <div id="methods">
230
- <h3 class="section-bar">Public Class methods</h3>
231
-
232
- <div id="method-M000022" class="method-detail">
233
- <a name="M000022"></a>
234
-
235
- <div class="method-heading">
236
- <a href="#M000022" class="method-signature">
237
- <span class="method-name">renderers</span><span class="method-args">()</span>
238
- </a>
239
- </div>
240
-
241
- <div class="method-description">
242
- <p>
243
- A class method that returns the known Renderers, which is any module that
244
- is defined within Waves::Renderers and includes the <a
245
- href="Renderers/Mixin.html">Renderers::Mixin</a>. You can define new
246
- Renderers simply be reopening Waves::Renderers and defining a module that
247
- mixes in <a href="Renderers/Mixin.html">Renderers::Mixin</a>.
248
- </p>
249
- <p><a class="source-toggle" href="#"
250
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
251
- <div class="method-source-code" id="M000022-source">
252
- <pre>
253
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 61</span>
254
- 61: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Views</span>.<span class="ruby-identifier">renderers</span>
255
- 62: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">nil?</span>
256
- 63: <span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">inject</span>([]) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rx</span>,<span class="ruby-identifier">cname</span><span class="ruby-operator">|</span>
257
- 64: ( <span class="ruby-constant">Module</span> <span class="ruby-operator">===</span> (<span class="ruby-identifier">c</span>=<span class="ruby-constant">Renderers</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">cname</span>)) <span class="ruby-operator">&amp;&amp;</span>
258
- 65: <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;</span> <span class="ruby-constant">Renderers</span><span class="ruby-operator">::</span><span class="ruby-constant">Mixin</span> ) <span class="ruby-operator">?</span> ( <span class="ruby-identifier">rx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span> ) <span class="ruby-operator">:</span> <span class="ruby-identifier">rx</span>
259
- 66: <span class="ruby-keyword kw">end</span>
260
- 67: <span class="ruby-keyword kw">end</span>
261
- </pre>
262
- </div>
263
- </div>
264
- </div>
265
-
266
-
267
- </div>
268
-
269
-
270
- </div>
271
-
272
-
273
- <div id="validator-badges">
274
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
275
- </div>
276
-
277
- </body>
278
- </html>
@@ -1,118 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Waves::Views::Base</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Waves::Views::Base</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/views/base_rb.html">
59
- lib/views/base.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
-
86
- </div>
87
-
88
-
89
- <!-- if includes -->
90
- <div id="includes">
91
- <h3 class="section-bar">Included Modules</h3>
92
-
93
- <div id="includes-list">
94
- <span class="include-name"><a href="Mixin.html">Waves::Views::Mixin</a></span>
95
- </div>
96
- </div>
97
-
98
- <div id="section">
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- <!-- if method_list -->
108
-
109
-
110
- </div>
111
-
112
-
113
- <div id="validator-badges">
114
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
115
- </div>
116
-
117
- </body>
118
- </html>
@@ -1,279 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Waves::Views::Mixin</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Waves::Views::Mixin</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/views/mixin_rb.html">
59
- lib/views/mixin.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
- <div id="description">
76
- <p>
77
- The View mixin simply sets up the machinery for invoking a template, along
78
- with methods for accessing the request context and the standard interface
79
- for invoking a view method.
80
- </p>
81
-
82
- </div>
83
-
84
-
85
- </div>
86
-
87
- <div id="method-list">
88
- <h3 class="section-bar">Methods</h3>
89
-
90
- <div class="name-list">
91
- <a href="#M000023">included</a>&nbsp;&nbsp;
92
- <a href="#M000027">method_missing</a>&nbsp;&nbsp;
93
- <a href="#M000024">new</a>&nbsp;&nbsp;
94
- <a href="#M000026">render</a>&nbsp;&nbsp;
95
- <a href="#M000025">renderer</a>&nbsp;&nbsp;
96
- </div>
97
- </div>
98
-
99
- </div>
100
-
101
-
102
- <!-- if includes -->
103
- <div id="includes">
104
- <h3 class="section-bar">Included Modules</h3>
105
-
106
- <div id="includes-list">
107
- <span class="include-name"><a href="../ResponseMixin.html">Waves::ResponseMixin</a></span>
108
- </div>
109
- </div>
110
-
111
- <div id="section">
112
-
113
-
114
-
115
-
116
-
117
- <div id="attribute-list">
118
- <h3 class="section-bar">Attributes</h3>
119
-
120
- <div class="name-list">
121
- <table>
122
- <tr class="top-aligned-row context-row">
123
- <td class="context-item-name">request</td>
124
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
125
- <td class="context-item-desc"></td>
126
- </tr>
127
- </table>
128
- </div>
129
- </div>
130
-
131
-
132
-
133
- <!-- if method_list -->
134
- <div id="methods">
135
- <h3 class="section-bar">Public Class methods</h3>
136
-
137
- <div id="method-M000023" class="method-detail">
138
- <a name="M000023"></a>
139
-
140
- <div class="method-heading">
141
- <a href="#M000023" class="method-signature">
142
- <span class="method-name">included</span><span class="method-args">( c )</span>
143
- </a>
144
- </div>
145
-
146
- <div class="method-description">
147
- <p><a class="source-toggle" href="#"
148
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
149
- <div class="method-source-code" id="M000023-source">
150
- <pre>
151
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 76</span>
152
- 76: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">included</span>( <span class="ruby-identifier">c</span> )
153
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">process</span>( <span class="ruby-identifier">request</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
154
- 78: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">request</span> ).<span class="ruby-identifier">instance_exec</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
155
- 79: <span class="ruby-keyword kw">end</span>
156
- 80: <span class="ruby-keyword kw">end</span>
157
- </pre>
158
- </div>
159
- </div>
160
- </div>
161
-
162
- <div id="method-M000024" class="method-detail">
163
- <a name="M000024"></a>
164
-
165
- <div class="method-heading">
166
- <a href="#M000024" class="method-signature">
167
- <span class="method-name">new</span><span class="method-args">( request )</span>
168
- </a>
169
- </div>
170
-
171
- <div class="method-description">
172
- <p><a class="source-toggle" href="#"
173
- onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
174
- <div class="method-source-code" id="M000024-source">
175
- <pre>
176
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 82</span>
177
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span><span class="ruby-identifier">initialize</span>( <span class="ruby-identifier">request</span> )
178
- 83: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
179
- 84: <span class="ruby-ivar">@layout</span> = <span class="ruby-identifier">:default</span>
180
- 85: <span class="ruby-keyword kw">end</span>
181
- </pre>
182
- </div>
183
- </div>
184
- </div>
185
-
186
- <h3 class="section-bar">Public Instance methods</h3>
187
-
188
- <div id="method-M000027" class="method-detail">
189
- <a name="M000027"></a>
190
-
191
- <div class="method-heading">
192
- <a href="#M000027" class="method-signature">
193
- <span class="method-name">method_missing</span><span class="method-args">(name,*args)</span>
194
- </a>
195
- </div>
196
-
197
- <div class="method-description">
198
- <p><a class="source-toggle" href="#"
199
- onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
200
- <div class="method-source-code" id="M000027-source">
201
- <pre>
202
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 102</span>
203
- 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">name</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
204
- 103: <span class="ruby-identifier">render</span>( <span class="ruby-node">&quot;/#{self.class.basename.snake_case}/#{name}&quot;</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
205
- 104: <span class="ruby-keyword kw">end</span>
206
- </pre>
207
- </div>
208
- </div>
209
- </div>
210
-
211
- <div id="method-M000026" class="method-detail">
212
- <a name="M000026"></a>
213
-
214
- <div class="method-heading">
215
- <a href="#M000026" class="method-signature">
216
- <span class="method-name">render</span><span class="method-args">( path, context = {} )</span>
217
- </a>
218
- </div>
219
-
220
- <div class="method-description">
221
- <p><a class="source-toggle" href="#"
222
- onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
223
- <div class="method-source-code" id="M000026-source">
224
- <pre>
225
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 95</span>
226
- 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>( <span class="ruby-identifier">path</span>, <span class="ruby-identifier">context</span> = {} )
227
- 96: <span class="ruby-identifier">context</span>.<span class="ruby-identifier">merge!</span>( <span class="ruby-identifier">:request</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">request</span> )
228
- 97: <span class="ruby-identifier">template</span> = <span class="ruby-identifier">renderer</span>( <span class="ruby-identifier">path</span> ) <span class="ruby-operator">||</span> <span class="ruby-identifier">renderer</span>( <span class="ruby-identifier">:generic</span> <span class="ruby-operator">/</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>) )
229
- 98: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoTemplateError</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">path</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">template</span>.<span class="ruby-identifier">nil?</span>
230
- 99: <span class="ruby-identifier">template</span>.<span class="ruby-identifier">render</span>( <span class="ruby-identifier">path</span>, <span class="ruby-identifier">context</span> )
231
- 100: <span class="ruby-keyword kw">end</span>
232
- </pre>
233
- </div>
234
- </div>
235
- </div>
236
-
237
- <div id="method-M000025" class="method-detail">
238
- <a name="M000025"></a>
239
-
240
- <div class="method-heading">
241
- <a href="#M000025" class="method-signature">
242
- <span class="method-name">renderer</span><span class="method-args">(path)</span>
243
- </a>
244
- </div>
245
-
246
- <div class="method-description">
247
- <p>
248
- Return the first <a href="Mixin.html#M000025">renderer</a> for which a
249
- template file can be found. Uses Renderers::Mixin.filename to construct the
250
- filename for each <a href="Mixin.html#M000025">renderer</a>.
251
- </p>
252
- <p><a class="source-toggle" href="#"
253
- onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
254
- <div class="method-source-code" id="M000025-source">
255
- <pre>
256
- <span class="ruby-comment cmt"># File lib/views/mixin.rb, line 89</span>
257
- 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">renderer</span>(<span class="ruby-identifier">path</span>)
258
- 90: <span class="ruby-constant">Views</span>.<span class="ruby-identifier">renderers</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">renderer</span><span class="ruby-operator">|</span>
259
- 91: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">renderer</span>.<span class="ruby-identifier">filename</span>( <span class="ruby-identifier">path</span> ) )
260
- 92: <span class="ruby-keyword kw">end</span>
261
- 93: <span class="ruby-keyword kw">end</span>
262
- </pre>
263
- </div>
264
- </div>
265
- </div>
266
-
267
-
268
- </div>
269
-
270
-
271
- </div>
272
-
273
-
274
- <div id="validator-badges">
275
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
276
- </div>
277
-
278
- </body>
279
- </html>