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,16 +0,0 @@
1
- module Waves
2
- module Utilities
3
- module Proc
4
- # calls the given lambda with the receiver as its argument
5
- def |(lambda)
6
- lambda do
7
- lambda.call( self.call )
8
- end
9
- end
10
- end
11
- end
12
- end
13
-
14
- class Proc # :nodoc:
15
- include Waves::Utilities::Proc
16
- end
@@ -1,49 +0,0 @@
1
- module Waves
2
- module Utilities
3
-
4
- # Utility methods mixed into String.
5
-
6
- module String
7
-
8
- # Syntactic sugar for using File.join to concatenate the argument to the receiver.
9
- #
10
- # require "lib" / "utilities" / "string"
11
- #
12
- # The idea is not original, but we can't remember where we first saw it.
13
- #
14
- # Waves::Utilities::Symbol defines the same method, allowing for :files / 'afilename.txt'
15
-
16
- def / ( string )
17
- File.join(self,string.to_s)
18
- end
19
-
20
- # produces stringsLikeThis
21
- def lower_camel_case
22
- gsub(/(_)(\w)/) { $2.upcase }
23
- end
24
-
25
- # produces StringsLikeThis
26
- def camel_case
27
- lower_camel_case.gsub(/^([a-z])/) { $1.upcase }
28
- end
29
-
30
- # produces strings_like_this
31
- def snake_case
32
- gsub(/\s+/,'').gsub(/([a-z\d])([A-Z])/){ "#{$1}_#{$2}"}.tr("-", "_").downcase
33
- end
34
-
35
- def title_case
36
- gsub(/(^|\s)\s*([a-z])/) { $1 + $2.upcase }
37
- end
38
-
39
- def text
40
- gsub(/[\_\-\.\:]/,' ')
41
- end
42
-
43
- end
44
- end
45
- end
46
-
47
- class ::String # :nodoc:
48
- include Waves::Utilities::String
49
- end
@@ -1,10 +0,0 @@
1
- class Symbol
2
- # Does File.join on self and string, converting self to string before invocation.
3
- # See String#/ for more.
4
- #
5
- # Note: This overrides any definitions done politely in modules, such as
6
- # {Sequel::SQL::ComplexExpressionMethods}[http://sequel.rubyforge.org/classes/Sequel/SQL/ComplexExpressionMethods.html]
7
- def / ( string )
8
- self.to_s / string
9
- end
10
- end
@@ -1,9 +0,0 @@
1
- # Patch Ruby's Tempfile class to work around a problem uploading files with Rack.
2
- #
3
- # The fix came from here: http://sinatra.lighthouseapp.com/projects/9779/tickets/1
4
- #
5
- # This is fixed in Rack already, but it hasn't made it into a gem.
6
- class Tempfile
7
- # Make == act like eql?
8
- def ==(other) ; eql?(other) || super ; end
9
- end
@@ -1,9 +0,0 @@
1
- module Waves
2
- module Views
3
- class Base
4
-
5
- include Waves::Views::Mixin
6
-
7
- end
8
- end
9
- end
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'startup'
3
- require 'commands/waves-console'
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'startup'
3
- require 'commands/waves-server'
@@ -1,23 +0,0 @@
1
- module Blog
2
-
3
- module Configurations
4
-
5
- module Mapping
6
- extend Waves::Mapping
7
-
8
- path '/', :method => :get do
9
- redirect("/entries")
10
- end
11
-
12
- path %r{^/comments/?$}, :method => :post do
13
- resource( :comment ) do
14
- controller { comment = create; redirect( "/entry/#{comment.entry.name}" ) }
15
- end
16
- end
17
- include Waves::Mapping::PrettyUrls::RestRules
18
- include Waves::Mapping::PrettyUrls::GetRules
19
- end
20
-
21
- end
22
-
23
- end
File without changes
@@ -1,5 +0,0 @@
1
- require 'layers/orm/sequel'
2
- module Blog
3
- include Waves::Foundations::Default
4
- include Waves::Layers::ORM::Sequel
5
- end
@@ -1,72 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Warning: This file is clobbered when you update your
4
- # application with the waves script. Accordingly, you may
5
- # wish to keep your tasks in .rb or .rake files in lib/tasks
6
-
7
- begin
8
- require 'startup'
9
- Waves::Console.load(:mode => ENV['mode'])
10
-
11
- # load tasks from waves framework
12
- %w( cluster generate gem ).each { |task| require "tasks/#{task}.rb" }
13
-
14
- # load tasks from this app's lib/tasks
15
- Dir["lib/tasks/*.{rb,rake}"].each { |task| require task }
16
-
17
- rescue LoadError => e
18
- if e.message == 'no such file to load -- waves'
19
- puts "Can't find Waves source. Install gem, freeze Waves, or define WAVES in startup.rb"
20
- puts
21
- else
22
- raise e
23
- end
24
- end
25
-
26
- namespace :waves do
27
-
28
- desc "freeze src=<wherever> to ./waves"
29
- task :freeze do
30
-
31
- target = "#{Dir.pwd}/waves"
32
- src = ENV['src']
33
- raise "Please specify the location of waves using src=wherever" unless src
34
- raise "No directory found at '#{src}'" unless File.directory?(src)
35
-
36
- items = FileList["#{src}/*"]
37
- puts "Freezing from: #{src}"
38
- items.each do |item|
39
- puts "copying #{item}"
40
- cp_r item, target
41
- end
42
-
43
- end
44
-
45
- desc "unfreeze (i.e. delete) the waves source at ./waves"
46
- task :unfreeze do
47
- frozen = "#{Dir.pwd}/waves"
48
- rm_r frozen if File.exist?(frozen)
49
- end
50
-
51
- # Convenience task to allow you to freeze the current Waves
52
- # source without knowing where it is. This task only gets
53
- # defined when the Rakefile successfully loaded Waves and if
54
- # there's nothing in the way at ./waves
55
- if defined?(WAVES) && !File.exist?("#{Dir.pwd}/waves")
56
- namespace :freeze do
57
- desc "freeze current Waves source to ./waves"
58
- task :current do
59
- target = "#{Dir.pwd}/waves"
60
- current = File.expand_path( WAVES )
61
- items = FileList["#{current}/*"]
62
- puts "Freezing from: #{current}"
63
- items.each do |item|
64
- puts "copying #{item}"
65
- cp_r item, target
66
- end
67
-
68
- end
69
- end
70
- end
71
-
72
- end
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rubygems'
3
- require 'startup'
4
- require 'commands/waves-console'
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rubygems'
3
- require 'startup'
4
- require 'commands/waves-server'
@@ -1,31 +0,0 @@
1
- module Jub
2
-
3
- module Configurations
4
-
5
- class Development < Default
6
-
7
- database :adapter => 'sqlite', :database => 'jub'
8
-
9
- reloadable [ Jub ]
10
-
11
- log :level => :debug
12
-
13
- host '127.0.0.1'
14
-
15
- port 3000
16
-
17
- handler ::Rack::Handler::Mongrel, :Host => host, :Port => port
18
- # handler ::Rack::Handler::WEBrick, :BindAddress => host, :Port => port
19
- # handler ::Rack::Handler::Thin, :Host => host, :Port => port
20
-
21
- application do
22
- use ::Rack::ShowExceptions
23
- use ::Rack::Static, :urls => [ '/css/', '/javascript/', '/images/' ], :root => 'public'
24
- run ::Waves::Dispatchers::Default.new
25
- end
26
-
27
- end
28
-
29
- end
30
-
31
- end
@@ -1,18 +0,0 @@
1
- module Jub
2
-
3
- module Configurations
4
-
5
- module Mapping
6
- # your custom rules go here
7
-
8
- path "/" do
9
- "hello"
10
- end
11
-
12
- include Waves::Mapping::PrettyUrls::RestRules
13
- include Waves::Mapping::PrettyUrls::GetRules
14
- end
15
-
16
- end
17
-
18
- end
@@ -1,31 +0,0 @@
1
- module Jub
2
-
3
- module Configurations
4
-
5
- class Production < Default
6
-
7
- database :host => 'localhost', :adapter => 'mysql', :database => 'jub',
8
- :user => 'root', :password => ''
9
-
10
- reloadable []
11
-
12
- log :level => :error,
13
- :output => ( :log / "waves.#{$$}" ),
14
- :rotation => :weekly
15
-
16
- host '0.0.0.0'
17
-
18
- port 80
19
-
20
- handler ::Rack::Handler::Mongrel, :Host => host, :Port => port
21
- # handler ::Rack::Handler::WEBrick, :BindAddress => host, :Port => port
22
- # handler ::Rack::Handler::Thin, :Host => host, :Port => port
23
-
24
- application do
25
- use ::Rack::Static, :urls => [ '/css/', '/javascript/', '/images/' ], :root => 'public'
26
- run ::Waves::Dispatchers::Default.new
27
- end
28
-
29
- end
30
- end
31
- end
@@ -1,5 +0,0 @@
1
- require 'layers/orm/sequel'
2
- module Jub
3
- include Waves::Foundations::Default
4
- include Waves::Layers::ORM::Sequel
5
- end
@@ -1,6 +0,0 @@
1
- WAVES = File.join(File.dirname(__FILE__), "..", "..")
2
- lambda {
3
- waves = ( ( WAVES if defined? WAVES ) || ENV['WAVES'] || File.join(File.dirname(__FILE__), 'waves') )
4
- $:.unshift(File.join( waves, "lib" )) if File.exist? waves
5
- }.call
6
- require 'waves'
@@ -1,2 +0,0 @@
1
- h1 '404'
2
- p %q( That URL does not exist on this server. )
@@ -1,2 +0,0 @@
1
- h1 '500'
2
- p %q( Internal server error. Sorry, but your request could not be processed. )
@@ -1,14 +0,0 @@
1
- doctype :html4_strict
2
-
3
- html do
4
-
5
- head do
6
- title @title
7
- end
8
-
9
- body do
10
- layout_content
11
- end
12
-
13
- end
14
-
@@ -1,24 +0,0 @@
1
- %w( rubygems bacon open3 extensions/all).each { |f| require f }
2
-
3
- Bacon.extend Bacon::TestUnitOutput
4
- Bacon.summary_on_exit
5
-
6
- require File.join(File.dirname(__FILE__), "..", "..", "lib", "utilities", "string")
7
-
8
-
9
- AppPath = File.expand_path(File.dirname(__FILE__) / "sandbox")
10
- FrameworkPath = File.expand_path(File.dirname(__FILE__) / ".." / "..")
11
-
12
- def generate_test_app(path)
13
- command = File.dirname(__FILE__) / ".." / ".." / :bin / "waves"
14
- system "#{command} #{path}"
15
- end
16
-
17
- def clobber_test_app(path)
18
- FileUtils.rm_rf(path) if File.exist?(path)
19
- end
20
-
21
- def set_framework_path(path)
22
- text = File.read(path / 'startup.rb').split("\n").unshift("WAVES = '#{FrameworkPath}'").join("\n")
23
- File.write(path / 'startup.rb', text)
24
- end
@@ -1,39 +0,0 @@
1
- # require 'test_helper' because RubyMate needs help
2
-
3
- require File.join(File.dirname(__FILE__) , "helpers")
4
-
5
- clobber_test_app(AppPath)
6
- generate_test_app(AppPath)
7
-
8
- describe "A generated application" do
9
-
10
- it "has executable script files" do
11
- File.executable?(File.join(AppPath, "bin", "waves-console")).should.be.true
12
- end
13
-
14
- it "will fail to find waves framework, if the gem is not available" do
15
- Dir.chdir(AppPath) do
16
- stdin, stdout, stderr = Open3.popen3("ruby startup.rb")
17
- stderr.gets.should =~ %r{no such file to load -- waves \(LoadError\)}
18
- end
19
- end
20
-
21
- it "will find and use waves framework source when WAVES is defined" do
22
- set_framework_path(AppPath)
23
- Dir.chdir(AppPath) do
24
- stdin, stdout, stderr = Open3.popen3("ruby startup.rb")
25
- stderr.gets.should == nil
26
- end
27
- end
28
-
29
- it "has the directories we expect it to have" do
30
- dirs = %w{ bin/ configurations/ controllers/ doc/ helpers/ lib/
31
- log/ models/ public/ schema/ templates/ tmp/ views/ }
32
- Dir.chdir(AppPath) do
33
- Dir.glob("*/").should == dirs
34
- end
35
- end
36
-
37
- end
38
-
39
- clobber_test_app(AppPath)
@@ -1,92 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "helpers")
2
-
3
- specification "Blackboard" do
4
-
5
- it 'should create a blackboard' do
6
- request = mock(:request)
7
- Waves::Blackboard.new(request).should.not == nil
8
- end
9
-
10
- it 'should allow adding a value, and reading from it' do
11
- request = mock(:request)
12
- bb = Waves::Blackboard.new(request)
13
- bb.test = 2
14
- bb.test.should == 2
15
-
16
- bb["test"].should == 2
17
-
18
- bb["test2"] = 3
19
- bb["test2"].should == 3
20
- bb.test2.should == 3
21
- end
22
-
23
- it 'should not have a value if never set' do
24
- request = mock(:request)
25
- bb = Waves::Blackboard.new(request)
26
- bb.never_set.should == nil
27
- bb["never_set"].should == nil
28
- end
29
-
30
- it 'should iterate over all defined values' do
31
- request = mock(:request)
32
- bb = Waves::Blackboard.new(request)
33
- bb.value1 = 1
34
- bb.value2 = 2
35
- a = []
36
- bb.each do |value|
37
- a << value
38
- end
39
- a.should == [["value1", 1], ["value2", 2]]
40
- end
41
-
42
- end
43
-
44
- module BlackBoardVerify
45
- module Controllers
46
- class Test
47
- include Waves::Controllers::Mixin
48
- end
49
- end
50
- end
51
-
52
- module BlackBoardVerify
53
- module Configurations
54
- module Mapping
55
- extend Waves::Mapping
56
- end
57
- end
58
- end
59
-
60
- module BlackBoardVerify
61
- module Helpers
62
- module Test
63
- extend Waves::Helpers::Default
64
- end
65
- end
66
- end
67
-
68
- module BlackBoardVerify
69
- module Views
70
- module Test
71
- extend Waves::Views::Mixin
72
- end
73
- end
74
- end
75
-
76
- specification "Blackboard included in other classes" do
77
-
78
- before do
79
- end
80
-
81
- after do
82
- end
83
-
84
- it 'should be included in other classes' do
85
- request = mock(:request)
86
- BlackBoardVerify::Controllers::Test.instance_methods.should.include "blackboard"
87
- Waves::Helpers::Default.instance_methods.should.include "blackboard"
88
- Waves::ResponseProxy.instance_methods.should.include "blackboard"
89
- BlackBoardVerify::Views::Test.methods.should.include "blackboard"
90
- end
91
-
92
- end