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,5 +0,0 @@
1
- require File.join(File.dirname(__FILE__) , "..", "helpers")
2
-
3
- module BlackBoardVerify ; include Waves::Foundations::Simple ; end
4
- # Waves << BlackBoardVerify
5
- # Waves::Console.load( :mode => :development )
@@ -1,37 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
- require File.join(File.dirname(__FILE__) , "helpers")
3
-
4
- describe "Configuration attributes" do
5
-
6
- class Basic < Waves::Configurations::Base; end
7
-
8
- it "can be declared by developers" do
9
- Basic.attribute :smurf
10
- Basic.smurf("smurfy")
11
- Basic.smurf.should == "smurfy"
12
- end
13
-
14
-
15
- it "must be declared before use" do
16
- Basic.should.not.respond_to :gnome
17
- end
18
-
19
- end
20
-
21
- describe "Waves::Configurations::Default" do
22
-
23
- class Default < Waves::Configurations::Default; end
24
-
25
- it "declares certain attributes necessary to run a Waves app" do
26
- %w( host port ports log reloadable database session debug root synchronize? ).each do |attr|
27
- Default.should.respond_to attr
28
- end
29
- end
30
-
31
- it "sets default values for important attributes" do
32
- [ :debug, :synchronize?, :session, :log, :reloadable ].each do |attr|
33
- Default[attr].should.not.be.nil
34
- end
35
- end
36
-
37
- end
@@ -1 +0,0 @@
1
- require File.join(File.dirname(__FILE__) , "..", "helpers")
@@ -1,29 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
- require File.join(File.dirname(__FILE__) , "helpers")
3
-
4
- describe "A Waves Configuration" do
5
-
6
- class Default < Waves::Configurations::Default; end
7
-
8
- it "can specify a Rack handler" do
9
- class Default
10
- handler(::Rack::Handler::Mongrel, :Host => '0.0.0.0', :Port => 8080)
11
- end
12
- Default.handler.should == [ ::Rack::Handler::Mongrel, { :Host => '0.0.0.0', :Port => 8080 } ]
13
- end
14
-
15
- it "provides an accessor for a hash of mime types" do
16
- Waves::MimeTypes.should.receive(:[]).with('foo.png').and_return('image/png')
17
- Default.mime_types['foo.png'].should == 'image/png'
18
- end
19
-
20
- it "must define the application for use with Rack" do
21
- app = Rack::Builder.new() {}
22
- Rack::Builder.should.receive(:new).with().and_return(app)
23
- Default.application do
24
- "stuff"
25
- end
26
- Default.application.should.be.a.kind_of Rack::Builder
27
- end
28
-
29
- end
@@ -1,37 +0,0 @@
1
- # # require 'test_helper' because RubyMate needs help
2
- # require File.join(File.dirname(__FILE__) , "helpers")
3
- #
4
- # # Nota bene, y'all: These model helper methods are very ORM specific, and should probably
5
- # # get moved into the ORM layers.
6
- #
7
- # describe "The base Waves controller" do
8
- #
9
- # before do
10
- # Waves.application.stub!(:models).and_return(VerifyControllers::Models)
11
- # @request = mock('request')
12
- # @dc = VerifyControllers::Controllers::Default.new(@request)
13
- # end
14
- #
15
- # it "can isolate its model's attributes from the request params" do
16
- # @dc.should.receive(:params).and_return({:foo => 'bar', :default => {:one => 'one', :two => 'two'}})
17
- # @dc.attributes.should == {:one => 'one', :two => 'two'}
18
- # end
19
- #
20
- # it "provides shortcut methods for common model interactions" do
21
- # VerifyControllers::Models::Default.should.receive(:all)
22
- # @dc.all
23
- #
24
- # VerifyControllers::Models::Default.should.receive(:[]).with(:name => 'This').and_return('That')
25
- # @dc.find('This').should == 'That'
26
- #
27
- # VerifyControllers::Models::Default.should.receive(:create).with("Does it work?").and_return('It worked!')
28
- # @dc.should.receive(:attributes).and_return("Does it work?")
29
- # @dc.create.should == 'It worked!'
30
- #
31
- # # @dc.update('This')
32
- #
33
- # # @dc.delete('This')
34
- #
35
- # end
36
- #
37
- # end
@@ -1,13 +0,0 @@
1
- require File.join(File.dirname(__FILE__) , "..", "helpers")
2
-
3
- module VerifyControllers
4
- module Models
5
- class Default
6
- end
7
- end
8
- module Controllers
9
- class Default < Waves::Controllers::Base; end
10
- end
11
- end
12
-
13
- VerifyControllers::Models.stub!(:[]).with(:default).and_return(VerifyControllers::Models::Default)
@@ -1,51 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
- require File.join(File.dirname(__FILE__) , "helpers")
3
-
4
- describe "A Waves controller" do
5
-
6
- before do
7
- Waves.application.stub!(:models).and_return(VerifyControllers::Models)
8
- @request = mock('request')
9
- @dc = VerifyControllers::Controllers::Default.new(@request)
10
- end
11
-
12
- it "initializes with and can access a request" do
13
- @dc.request.should == @request
14
- end
15
-
16
- it "can access a destructured version of the request params" do
17
- request_hash = { 'beer.name' => 'Pale Rye Ale',
18
- 'beer.brew.kind' => 'mini-mash',
19
- 'beer.brew.yeast' => 'White Labs British Ale' ,
20
- 'beer.brew.hops.variety' => 'Fuggles' }
21
- destructured_hash = { :beer =>
22
- { :name => 'Pale Rye Ale',
23
- :brew => { :kind => 'mini-mash',
24
- :yeast => 'White Labs British Ale',
25
- :hops => { :variety => 'Fuggles' }}}}
26
-
27
- @request.should.receive(:params).and_return(request_hash)
28
- @dc.params.should == destructured_hash
29
- end
30
-
31
-
32
- it "has reflective model helpers to allow generalizing" do
33
- # Waves.application handwaving done in ./helpers
34
-
35
- @dc.model_name.should == 'default'
36
- @dc.model.should == VerifyControllers::Models::Default
37
- end
38
-
39
- end
40
-
41
- describe "The process method of a Waves controller class" do
42
-
43
- it "executes a block within the scope of a controller instance" do
44
- @request = mock('request')
45
- result = VerifyControllers::Controllers::Default.process(@request) do
46
- self.class.name
47
- end
48
- result.should == "VerifyControllers::Controllers::Default"
49
- end
50
-
51
- end
@@ -1,3 +0,0 @@
1
- %w( rubygems bacon facon ).each { |f| require f }
2
- Bacon.extend Bacon::TestUnitOutput
3
- Bacon.summary_on_exit
@@ -1,177 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
- require File.join(File.dirname(__FILE__) , "helpers")
3
-
4
- UTILITIES = "#{File.dirname(__FILE__)}/../../lib/utilities"
5
-
6
- require "#{UTILITIES}/module"
7
- require "#{UTILITIES}/inflect"
8
- require "#{UTILITIES}/string"
9
- require "#{UTILITIES}/symbol"
10
- require "#{UTILITIES}/object"
11
- require "#{UTILITIES}/integer"
12
- require "#{UTILITIES}/proc"
13
- require "#{UTILITIES}/hash"
14
-
15
-
16
- describe "Waves::Utilities::Module" do
17
-
18
- before do
19
- module Eenie; module Meenie; module Miney; end; end ; end
20
- end
21
-
22
- it "defines a basename method" do
23
- Eenie::Meenie.basename.should == "Meenie"
24
- Eenie::Meenie::Miney.basename.should == "Miney"
25
- end
26
-
27
- it "defines [] for easy access to namespaced constants" do
28
- Eenie[:Meenie].should == Eenie::Meenie
29
- end
30
-
31
- end
32
-
33
- describe "a language extended with Waves::Utilities::Inflect" do
34
-
35
- before do
36
- # Nominative only, of course.
37
- module Latin
38
- extend Waves::Inflect::InflectorMethods
39
- rule 'us', 'i'
40
- rule 'u', 'ua'
41
- rule 'x', 'gis'
42
-
43
- word 'deus', 'di'
44
- word 'cultus'
45
-
46
- singular_rule 'inuum', 'inua'
47
- plural_rule 'ix', 'ices'
48
- end
49
- end
50
-
51
- it "can define general pluralization rules" do
52
- Latin.plural('servus').should == 'servi'
53
- end
54
-
55
- it "can register two-way exceptions for specific words" do
56
- Latin.plural('deus').should == 'di'
57
- Latin.plural('cultus').should == 'cultus'
58
- end
59
-
60
- it "can register rules for singularization exceptions" do
61
- Latin.singular('cornua').should == 'cornu'
62
- Latin.singular('continua').should == 'continuum'
63
- end
64
-
65
- it "can register rules for pluralization exceptions" do
66
- Latin.plural('phoenix').should == 'phoenices'
67
- end
68
-
69
-
70
- end
71
-
72
- describe "Waves::Utilities::String" do
73
-
74
- # ** API Change **
75
- # it "delegates singular and plural inflection methods" do
76
- # Waves::Inflect::English.should.receive(:singular).and_return("boring")
77
- # Waves::Inflect::English.should.receive(:plural).and_return("still boring")
78
- # "boring".singular.plural
79
- # end
80
-
81
- it "defines / as syntactic sugar for File.join" do
82
- ( "lib" / "utilities" ).should == File.join( "lib", "utilities" )
83
- ( "lib" / :utilities ).should == File.join( "lib", "utilities" )
84
- ( "lib" / 3 ).should == File.join( "lib", "3" )
85
- end
86
-
87
- it "defines a snake_case method" do
88
- "MilchCow".snake_case.should == "milch_cow"
89
- "Milch Cow".snake_case.should == "milch_cow"
90
- "milchCow".snake_case.should == "milch_cow"
91
- "StrangeFaceMilchCow".snake_case.should == "strange_face_milch_cow"
92
- end
93
-
94
- it "defines a camel_case method" do
95
- "siege_engine".camel_case.should == "SiegeEngine"
96
- "ineffective_siege_engine".camel_case.should == "IneffectiveSiegeEngine"
97
- end
98
-
99
- it "defines a lower_camel_case method" do
100
- "siege_engine".lower_camel_case.should == "siegeEngine"
101
- "ineffective_siege_engine".lower_camel_case.should == "ineffectiveSiegeEngine"
102
- end
103
-
104
- it "defines a title_case method" do
105
- # Yes, we know that this is naive title casing.
106
- "sing ho! for the life of a bear".title_case.should == "Sing Ho! For The Life Of A Bear"
107
- end
108
-
109
- end
110
-
111
- describe "A monkeypatch to Symbol" do
112
-
113
- it "defines / as syntactic sugar for File.join" do
114
- ( :lib / :utilities ).should == File.join( "lib", "utilities")
115
- end
116
-
117
- end
118
-
119
-
120
- describe "Waves::Utilities::Object" do
121
-
122
- before do |variable|
123
- @foo = [ :a, :b, :c ]
124
- end
125
-
126
- it "defines instance_exec, to allow instance_eval-ing a block with parameters" do
127
- result = @foo.instance_exec(2) do |i|
128
- self[i]
129
- end
130
- result.should == :c
131
-
132
- result = @foo.instance_exec(0,2) do |*args|
133
- self.slice(*args)
134
- end
135
- result.should == [:a, :b]
136
- end
137
-
138
- end
139
-
140
- describe "Waves::Utilities::Integer" do
141
- # pedantic, no?
142
- 1.kilobytes.should == "1,024".to_i
143
- 1.megabytes.should == "1,048,576".to_i
144
- 1.gigabytes.should == "1,073,741,824".to_i
145
- 1.terabytes.should == "1,099,511,627,776".to_i
146
- 1.petabytes.should == "1,125,899,906,842,624".to_i
147
- 1.exabytes.should == "1,152,921,504,606,846,976".to_i
148
- 1.zettabytes.should == "1,180,591,620,717,411,303,424".to_i
149
- 1.yottabytes.should == "1,208,925,819,614,629,174,706,176".to_i
150
- end
151
-
152
- describe "Waves::Utilities::Proc" do
153
-
154
- it "defines | as syntactic sugar for passing the result of a proc to a lambda" do
155
- p = Proc.new { "smurf" }
156
- l = lambda { |data| data.reverse }
157
- result = p | l
158
- result.call.should == "frums"
159
- end
160
-
161
- end
162
-
163
- describe "Waves::Utilities::Hash" do
164
-
165
- it "adds a non-destructive method for converting all hash keys to strings" do
166
- h = { :a => 1, 'b' => 2, 3 => 3}
167
- h.stringify_keys.should == { 'a' => 1, 'b' => 2, '3' => 3}
168
- h.should == { :a => 1, 'b' => 2, 3 => 3}
169
- end
170
-
171
- it "adds a destructive method for converting hash keys to symbols" do
172
- h = { "two" => 2, :three => 3}
173
- h.symbolize_keys!
174
- h.should == { :two => 2, :three => 3 }
175
- end
176
-
177
- end
@@ -1,86 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
- require File.join(File.dirname(__FILE__) , "helpers")
3
-
4
- Dir.chdir File.dirname(__FILE__) / "default_application" do
5
- module DefaultApplication
6
- include Waves::Foundations::Default
7
- end
8
- Waves::Console.load( :mode => :development )
9
- DA = DefaultApplication
10
-
11
-
12
- describe "An application module which includes the Default foundation" do
13
-
14
- it "defines basic namespaces" do
15
- DA::Configurations::Mapping
16
- DA::Configurations::Default.host.should == nil
17
- DA::Configurations::Development.host.should == '127.0.0.1'
18
- DA::Models::Default
19
- DA::Views::Default
20
- DA::Controllers::Default
21
- DA::Helpers::Default
22
- DA::Helpers::Testing
23
- end
24
-
25
- # it "**leftover tests of Default to be reapportioned**" do
26
- # Waves::Application.instance.mapping.send(:mapping).should.not.be.empty
27
- # DA::Helpers::Default.instance_methods.should.include "layout"
28
- #
29
- # DA::Models::Default.should.respond_to :crayola
30
- # DA::Controllers::Default.instance_methods.should.include "attributes"
31
- # DA::Controllers::Default.instance_methods.should.include "destroy_all"
32
- #
33
- # DA::Views::Default.instance_methods.should.include "renderer"
34
- # DA::Views::Default.instance_methods.should.include "from_default"
35
- # end
36
-
37
- it "auto_creates Models when their files do not exist" do
38
- DA::Models::Created.superclass.should == DA::Models::Default
39
- end
40
-
41
- it "auto_loads Models when their files exist" do
42
- DA::Models::Loaded.instance_methods.should.include "from_loaded"
43
- end
44
-
45
- it "auto_creates Controllers when their files do not exist" do
46
- DA::Controllers::Created.superclass.should == DA::Controllers::Default
47
- end
48
-
49
- it "auto_loads Controllers when their files exist" do
50
- DA::Controllers::Loaded.instance_methods.should.include "from_loaded"
51
- end
52
-
53
- it "auto_creates Views when their files do not exist" do
54
- DA::Views::Created.superclass.should == DA::Views::Default
55
- end
56
-
57
- it "auto_loads Views when their files exist" do
58
- DA::Views::Loaded.instance_methods.should.include "from_loaded"
59
- end
60
-
61
- it "auto_creates Helpers when their files do not exist" do
62
- DA::Helpers::Created.included_modules.should.include Waves::Helpers::Default
63
- end
64
-
65
- it "auto_loads Helpers when their files exist" do
66
- DA::Helpers::Loaded.instance_methods.should.include "doctype"
67
- end
68
-
69
-
70
- it "should have accessors defined" do
71
- [ :config, :configurations, :controllers, :models, :helpers, :views ].each do |method|
72
- DA.should.respond_to method
73
- end
74
- end
75
-
76
- it "should define [] method for appropriate submodules" do
77
- DA::Configurations.should.respond_to :[]
78
- DA::Models.should.respond_to :[]
79
- DA::Views.should.respond_to :[]
80
- DA::Controllers.should.respond_to :[]
81
- end
82
-
83
- end
84
-
85
-
86
- end