waves 0.7.6 → 0.7.7

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 (291) hide show
  1. data/app/Rakefile +64 -6
  2. data/app/configurations/development.rb.erb +2 -1
  3. data/app/configurations/mapping.rb.erb +1 -0
  4. data/app/configurations/production.rb.erb +1 -0
  5. data/app/lib/application.rb.erb +2 -2
  6. data/bin/waves +36 -1
  7. data/doc/HISTORY +44 -0
  8. data/doc/LICENSE +22 -0
  9. data/doc/rdoc/classes/Erubis/Context.html +218 -0
  10. data/doc/rdoc/classes/Kernel.html +145 -0
  11. data/doc/rdoc/classes/Symbol.html +154 -0
  12. data/doc/rdoc/classes/Tempfile.html +161 -0
  13. data/doc/rdoc/classes/Waves.html +455 -0
  14. data/doc/rdoc/classes/Waves/Application.html +371 -0
  15. data/doc/rdoc/classes/Waves/Blackboard.html +296 -0
  16. data/doc/rdoc/classes/Waves/Configurations.html +283 -0
  17. data/doc/rdoc/classes/Waves/Configurations/Base.html +209 -0
  18. data/doc/rdoc/classes/Waves/Configurations/Default.html +237 -0
  19. data/doc/rdoc/classes/Waves/Console.html +187 -0
  20. data/doc/rdoc/classes/Waves/Controllers.html +203 -0
  21. data/doc/rdoc/classes/Waves/Controllers/Base.html +151 -0
  22. data/doc/rdoc/classes/Waves/Controllers/Mixin.html +312 -0
  23. data/doc/rdoc/classes/Waves/Dispatchers.html +118 -0
  24. data/doc/rdoc/classes/Waves/Dispatchers/Base.html +198 -0
  25. data/doc/rdoc/classes/Waves/Dispatchers/Default.html +224 -0
  26. data/doc/rdoc/classes/Waves/Dispatchers/NotFoundError.html +122 -0
  27. data/doc/rdoc/classes/Waves/Dispatchers/Redirect.html +173 -0
  28. data/doc/rdoc/classes/Waves/Foundations.html +131 -0
  29. data/doc/rdoc/classes/Waves/Foundations/Default.html +179 -0
  30. data/doc/rdoc/classes/Waves/Foundations/Simple.html +167 -0
  31. data/doc/rdoc/classes/Waves/Helpers.html +176 -0
  32. data/doc/rdoc/classes/Waves/Helpers/AssetHelper.html +212 -0
  33. data/doc/rdoc/classes/Waves/Helpers/Common.html +213 -0
  34. data/doc/rdoc/classes/Waves/Helpers/Default.html +135 -0
  35. data/doc/rdoc/classes/Waves/Helpers/Form.html +201 -0
  36. data/doc/rdoc/classes/Waves/Helpers/Formatting.html +232 -0
  37. data/doc/rdoc/classes/Waves/Helpers/Model.html +194 -0
  38. data/doc/rdoc/classes/Waves/Helpers/NumberHelper.html +165 -0
  39. data/doc/rdoc/classes/Waves/Helpers/TagHelper.html +226 -0
  40. data/doc/rdoc/classes/Waves/Helpers/UrlHelper.html +242 -0
  41. data/doc/rdoc/classes/Waves/Helpers/View.html +163 -0
  42. data/doc/rdoc/classes/Waves/Inflect/InflectorMethods.html +475 -0
  43. data/doc/rdoc/classes/Waves/Layers.html +175 -0
  44. data/doc/rdoc/classes/Waves/Layers/DefaultErrors.html +161 -0
  45. data/doc/rdoc/classes/Waves/Layers/Inflect.html +119 -0
  46. data/doc/rdoc/classes/Waves/Layers/Inflect/English.html +168 -0
  47. data/doc/rdoc/classes/Waves/Layers/Inflect/English/Rules.html +112 -0
  48. data/doc/rdoc/classes/Waves/Layers/Inflect/English/StringMethods.html +194 -0
  49. data/doc/rdoc/classes/Waves/Layers/MVC.html +204 -0
  50. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord.html +239 -0
  51. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/ControllerMethods.html +246 -0
  52. data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/Symbol.html +132 -0
  53. data/doc/rdoc/classes/Waves/Layers/ORM/DataMapper.html +166 -0
  54. data/doc/rdoc/classes/Waves/Layers/ORM/Filebase.html +157 -0
  55. data/doc/rdoc/classes/Waves/Layers/ORM/Sequel.html +232 -0
  56. data/doc/rdoc/classes/Waves/Layers/ORM/Sequel/ControllerMethods.html +246 -0
  57. data/doc/rdoc/classes/Waves/Layers/Simple.html +169 -0
  58. data/doc/rdoc/classes/Waves/Layers/SimpleErrors.html +159 -0
  59. data/doc/rdoc/classes/Waves/Logger.html +288 -0
  60. data/doc/rdoc/classes/Waves/Mapping.html +760 -0
  61. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls.html +129 -0
  62. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/GetRules.html +174 -0
  63. data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/RestRules.html +180 -0
  64. data/doc/rdoc/classes/Waves/MimeTypes.html +200 -0
  65. data/doc/rdoc/classes/Waves/Renderers/Erubis.html +162 -0
  66. data/doc/rdoc/classes/Waves/Renderers/Haml.html +160 -0
  67. data/doc/rdoc/classes/Waves/Renderers/Markaby.html +167 -0
  68. data/doc/rdoc/classes/Waves/Renderers/Mixin.html +191 -0
  69. data/doc/rdoc/classes/Waves/Renderers/Scope.html +181 -0
  70. data/doc/rdoc/classes/Waves/Request.html +441 -0
  71. data/doc/rdoc/classes/Waves/Request/ParseError.html +111 -0
  72. data/doc/rdoc/classes/Waves/Response.html +283 -0
  73. data/doc/rdoc/classes/Waves/ResponseMixin.html +460 -0
  74. data/doc/rdoc/classes/Waves/ResponseProxy.html +269 -0
  75. data/doc/rdoc/classes/Waves/Server.html +488 -0
  76. data/doc/rdoc/classes/Waves/Session.html +330 -0
  77. data/doc/rdoc/classes/Waves/Utilities/Hash.html +185 -0
  78. data/doc/rdoc/classes/Waves/Utilities/Integer.html +424 -0
  79. data/doc/rdoc/classes/Waves/Utilities/Module.html +174 -0
  80. data/doc/rdoc/classes/Waves/Utilities/Object.html +155 -0
  81. data/doc/rdoc/classes/Waves/Utilities/Proc.html +145 -0
  82. data/doc/rdoc/classes/Waves/Utilities/String.html +290 -0
  83. data/doc/rdoc/classes/Waves/Views.html +278 -0
  84. data/doc/rdoc/classes/Waves/Views/Base.html +118 -0
  85. data/doc/rdoc/classes/Waves/Views/Mixin.html +279 -0
  86. data/doc/rdoc/classes/Waves/Views/NoTemplateError.html +111 -0
  87. data/doc/rdoc/created.rid +1 -0
  88. data/doc/rdoc/files/README_rdoc.html +415 -0
  89. data/doc/rdoc/files/bin/waves.html +135 -0
  90. data/doc/rdoc/files/doc/HISTORY.html +265 -0
  91. data/doc/rdoc/files/lib/commands/waves-console_rb.html +110 -0
  92. data/doc/rdoc/files/lib/commands/waves-server_rb.html +108 -0
  93. data/doc/rdoc/files/lib/controllers/base_rb.html +101 -0
  94. data/doc/rdoc/files/lib/controllers/mixin_rb.html +101 -0
  95. data/doc/rdoc/files/lib/dispatchers/base_rb.html +101 -0
  96. data/doc/rdoc/files/lib/dispatchers/default_rb.html +101 -0
  97. data/doc/rdoc/files/lib/foundations/default_rb.html +101 -0
  98. data/doc/rdoc/files/lib/foundations/simple_rb.html +101 -0
  99. data/doc/rdoc/files/lib/helpers/asset_helper_rb.html +101 -0
  100. data/doc/rdoc/files/lib/helpers/common_rb.html +101 -0
  101. data/doc/rdoc/files/lib/helpers/default_rb.html +101 -0
  102. data/doc/rdoc/files/lib/helpers/form_rb.html +101 -0
  103. data/doc/rdoc/files/lib/helpers/formatting_rb.html +108 -0
  104. data/doc/rdoc/files/lib/helpers/model_rb.html +101 -0
  105. data/doc/rdoc/files/lib/helpers/number_helper_rb.html +101 -0
  106. data/doc/rdoc/files/lib/helpers/tag_helper_rb.html +101 -0
  107. data/doc/rdoc/files/lib/helpers/url_helper_rb.html +101 -0
  108. data/doc/rdoc/files/lib/helpers/view_rb.html +101 -0
  109. data/doc/rdoc/files/lib/layers/default_errors_rb.html +101 -0
  110. data/doc/rdoc/files/lib/layers/inflect/english/rules_rb.html +101 -0
  111. data/doc/rdoc/files/lib/layers/inflect/english/string_rb.html +101 -0
  112. data/doc/rdoc/files/lib/layers/inflect/english_rb.html +109 -0
  113. data/doc/rdoc/files/lib/layers/mvc_rb.html +101 -0
  114. data/doc/rdoc/files/lib/layers/orm/active_record/tasks/generate_rb.html +101 -0
  115. data/doc/rdoc/files/lib/layers/orm/active_record/tasks/schema_rb.html +101 -0
  116. data/doc/rdoc/files/lib/layers/orm/active_record_rb.html +108 -0
  117. data/doc/rdoc/files/lib/layers/orm/data_mapper_rb.html +108 -0
  118. data/doc/rdoc/files/lib/layers/orm/filebase_rb.html +101 -0
  119. data/doc/rdoc/files/lib/layers/orm/migration_rb.html +101 -0
  120. data/doc/rdoc/files/lib/layers/orm/sequel/tasks/generate_rb.html +101 -0
  121. data/doc/rdoc/files/lib/layers/orm/sequel/tasks/schema_rb.html +101 -0
  122. data/doc/rdoc/files/lib/layers/orm/sequel_rb.html +108 -0
  123. data/doc/rdoc/files/lib/layers/simple_errors_rb.html +101 -0
  124. data/doc/rdoc/files/lib/layers/simple_rb.html +101 -0
  125. data/doc/rdoc/files/lib/mapping/mapping_rb.html +101 -0
  126. data/doc/rdoc/files/lib/mapping/pretty_urls_rb.html +101 -0
  127. data/doc/rdoc/files/lib/renderers/erubis_rb.html +108 -0
  128. data/doc/rdoc/files/lib/renderers/haml_rb.html +108 -0
  129. data/doc/rdoc/files/lib/renderers/markaby_rb.html +108 -0
  130. data/doc/rdoc/files/lib/renderers/mixin_rb.html +101 -0
  131. data/doc/rdoc/files/lib/runtime/application_rb.html +107 -0
  132. data/doc/rdoc/files/lib/runtime/blackboard_rb.html +101 -0
  133. data/doc/rdoc/files/lib/runtime/configuration_rb.html +101 -0
  134. data/doc/rdoc/files/lib/runtime/console_rb.html +101 -0
  135. data/doc/rdoc/files/lib/runtime/debugger_rb.html +101 -0
  136. data/doc/rdoc/files/lib/runtime/logger_rb.html +108 -0
  137. data/doc/rdoc/files/lib/runtime/mime_types_rb.html +101 -0
  138. data/doc/rdoc/files/lib/runtime/request_rb.html +101 -0
  139. data/doc/rdoc/files/lib/runtime/response_mixin_rb.html +101 -0
  140. data/doc/rdoc/files/lib/runtime/response_proxy_rb.html +101 -0
  141. data/doc/rdoc/files/lib/runtime/response_rb.html +101 -0
  142. data/doc/rdoc/files/lib/runtime/server_rb.html +108 -0
  143. data/doc/rdoc/files/lib/runtime/session_rb.html +101 -0
  144. data/doc/rdoc/files/lib/tasks/cluster_rb.html +101 -0
  145. data/doc/rdoc/files/lib/tasks/gem_rb.html +108 -0
  146. data/doc/rdoc/files/lib/tasks/generate_rb.html +101 -0
  147. data/doc/rdoc/files/lib/utilities/hash_rb.html +101 -0
  148. data/doc/rdoc/files/lib/utilities/inflect_rb.html +111 -0
  149. data/doc/rdoc/files/lib/utilities/integer_rb.html +101 -0
  150. data/doc/rdoc/files/lib/utilities/module_rb.html +101 -0
  151. data/doc/rdoc/files/lib/utilities/object_rb.html +101 -0
  152. data/doc/rdoc/files/lib/utilities/proc_rb.html +101 -0
  153. data/doc/rdoc/files/lib/utilities/string_rb.html +101 -0
  154. data/doc/rdoc/files/lib/utilities/symbol_rb.html +101 -0
  155. data/doc/rdoc/files/lib/utilities/tempfile_rb.html +115 -0
  156. data/doc/rdoc/files/lib/views/base_rb.html +101 -0
  157. data/doc/rdoc/files/lib/views/mixin_rb.html +101 -0
  158. data/doc/rdoc/files/lib/waves_rb.html +195 -0
  159. data/doc/rdoc/fr_class_index.html +104 -0
  160. data/doc/rdoc/fr_file_index.html +97 -0
  161. data/doc/rdoc/fr_method_index.html +233 -0
  162. data/doc/rdoc/index.html +24 -0
  163. data/doc/rdoc/rdoc-style.css +208 -0
  164. data/lib/foundations/default.rb +1 -0
  165. data/lib/layers/default_errors.rb +10 -13
  166. data/lib/layers/inflect/english.rb +24 -0
  167. data/lib/layers/inflect/english/rules.rb +88 -0
  168. data/lib/layers/inflect/english/string.rb +24 -0
  169. data/lib/layers/mvc.rb +31 -35
  170. data/lib/layers/orm/active_record.rb +83 -32
  171. data/lib/layers/orm/active_record/tasks/generate.rb +28 -0
  172. data/lib/layers/orm/active_record/tasks/schema.rb +7 -15
  173. data/lib/layers/orm/data_mapper.rb +12 -16
  174. data/lib/layers/orm/migration.rb +20 -11
  175. data/lib/layers/orm/sequel.rb +53 -49
  176. data/lib/layers/orm/sequel/tasks/generate.rb +28 -0
  177. data/lib/layers/orm/sequel/tasks/schema.rb +6 -14
  178. data/lib/layers/simple.rb +6 -13
  179. data/lib/layers/simple_errors.rb +5 -8
  180. data/lib/renderers/haml.rb +45 -0
  181. data/lib/runtime/application.rb +0 -2
  182. data/lib/tasks/cluster.rb +1 -1
  183. data/lib/utilities/inflect.rb +86 -168
  184. data/lib/utilities/integer.rb +23 -16
  185. data/lib/utilities/module.rb +19 -15
  186. data/lib/utilities/object.rb +22 -14
  187. data/lib/utilities/proc.rb +13 -7
  188. data/lib/utilities/string.rb +0 -12
  189. data/lib/utilities/symbol.rb +4 -1
  190. data/lib/utilities/tempfile.rb +9 -0
  191. data/lib/waves.rb +3 -1
  192. data/samples/blog/Rakefile +14 -0
  193. data/samples/blog/bin/waves-console +3 -0
  194. data/samples/blog/bin/waves-server +3 -0
  195. data/samples/blog/blog.db +0 -0
  196. data/samples/blog/configurations/development.rb +31 -0
  197. data/samples/blog/configurations/mapping.rb +23 -0
  198. data/samples/blog/configurations/production.rb +30 -0
  199. data/samples/blog/doc/EMTPY +0 -0
  200. data/samples/blog/lib/application.rb +5 -0
  201. data/samples/blog/models/comment.rb +14 -0
  202. data/samples/blog/models/entry.rb +14 -0
  203. data/samples/blog/public/css/site.css +2 -0
  204. data/samples/blog/public/javascript/site.js +13 -0
  205. data/samples/blog/schema/migrations/001_initial_schema.rb +17 -0
  206. data/samples/blog/schema/migrations/002_add_comments.rb +18 -0
  207. data/samples/blog/schema/migrations/templates/empty.rb.erb +9 -0
  208. data/samples/blog/startup.rb +6 -0
  209. data/samples/blog/templates/comment/add.mab +10 -0
  210. data/samples/blog/templates/comment/list.mab +6 -0
  211. data/samples/blog/templates/entry/editor.mab +13 -0
  212. data/samples/blog/templates/entry/list.mab +11 -0
  213. data/samples/blog/templates/entry/show.mab +9 -0
  214. data/samples/blog/templates/entry/summary.mab +5 -0
  215. data/samples/blog/templates/errors/not_found_404.mab +2 -0
  216. data/samples/blog/templates/errors/server_error_500.mab +2 -0
  217. data/samples/blog/templates/layouts/default.mab +17 -0
  218. data/samples/jub/Rakefile +72 -0
  219. data/samples/jub/bin/waves-console +4 -0
  220. data/samples/jub/bin/waves-server +4 -0
  221. data/samples/jub/configurations/development.rb +31 -0
  222. data/samples/jub/configurations/mapping.rb +18 -0
  223. data/samples/jub/configurations/production.rb +31 -0
  224. data/samples/jub/lib/application.rb +5 -0
  225. data/samples/jub/startup.rb +6 -0
  226. data/samples/jub/templates/errors/not_found_404.mab +2 -0
  227. data/samples/jub/templates/errors/server_error_500.mab +2 -0
  228. data/samples/jub/templates/layouts/default.mab +14 -0
  229. data/verify/app_generation/helpers.rb +24 -0
  230. data/verify/app_generation/startup.rb +39 -0
  231. data/verify/blackboard/blackboard_verify.rb +92 -0
  232. data/verify/blackboard/helpers.rb +5 -0
  233. data/verify/configurations/attributes.rb +37 -0
  234. data/verify/configurations/helpers.rb +1 -0
  235. data/verify/configurations/rack_integration.rb +29 -0
  236. data/verify/controllers/base.rb +37 -0
  237. data/verify/controllers/helpers.rb +13 -0
  238. data/verify/controllers/interface.rb +51 -0
  239. data/verify/core/helpers.rb +3 -0
  240. data/verify/core/utilities.rb +177 -0
  241. data/verify/foundations/default.rb +86 -0
  242. data/verify/foundations/default_application/Rakefile +14 -0
  243. data/verify/foundations/default_application/bin/waves-console +3 -0
  244. data/verify/foundations/default_application/bin/waves-server +3 -0
  245. data/verify/foundations/default_application/configurations/development.rb +26 -0
  246. data/verify/foundations/default_application/configurations/mapping.rb +14 -0
  247. data/verify/foundations/default_application/configurations/production.rb +30 -0
  248. data/verify/foundations/default_application/controllers/default.rb +15 -0
  249. data/verify/foundations/default_application/controllers/loaded.rb +15 -0
  250. data/verify/foundations/default_application/defaultapplication.db +0 -0
  251. data/verify/foundations/default_application/helpers/loaded.rb +10 -0
  252. data/verify/foundations/default_application/lib/application.rb +5 -0
  253. data/verify/foundations/default_application/models/default.rb +13 -0
  254. data/verify/foundations/default_application/models/loaded.rb +13 -0
  255. data/verify/foundations/default_application/schema/migrations/templates/empty.rb.erb +9 -0
  256. data/verify/foundations/default_application/startup.rb +7 -0
  257. data/verify/foundations/default_application/templates/errors/not_found_404.mab +2 -0
  258. data/verify/foundations/default_application/templates/errors/server_error_500.mab +2 -0
  259. data/verify/foundations/default_application/templates/layouts/default.mab +14 -0
  260. data/verify/foundations/default_application/views/default.rb +7 -0
  261. data/verify/foundations/default_application/views/loaded.rb +15 -0
  262. data/verify/foundations/helpers.rb +1 -0
  263. data/verify/foundations/simple.rb +25 -0
  264. data/verify/helpers.rb +76 -0
  265. data/verify/layers/data_mapper/association_verify.rb +87 -0
  266. data/verify/layers/default_errors.rb +29 -0
  267. data/verify/layers/helpers.rb +1 -0
  268. data/verify/layers/migration.rb +33 -0
  269. data/verify/layers/sequel/model.rb +41 -0
  270. data/verify/layers/sequeltest.db +0 -0
  271. data/verify/mapping/always.rb +19 -0
  272. data/verify/mapping/filters.rb +65 -0
  273. data/verify/mapping/handle.rb +24 -0
  274. data/verify/mapping/helpers.rb +7 -0
  275. data/verify/mapping/matches.rb +27 -0
  276. data/verify/mapping/named.rb +29 -0
  277. data/verify/mapping/options.rb +17 -0
  278. data/verify/mapping/path.rb +40 -0
  279. data/verify/mapping/response_proxy.rb +50 -0
  280. data/verify/mapping/threaded.rb +25 -0
  281. data/verify/requests/helpers.rb +16 -0
  282. data/verify/requests/request.rb +73 -0
  283. data/verify/requests/response.rb +59 -0
  284. data/verify/requests/session.rb +54 -0
  285. data/verify/views/helpers.rb +1 -0
  286. data/verify/views/rendering.rb +34 -0
  287. data/verify/views/templates/foo.erb +0 -0
  288. data/verify/views/templates/moo.erb +0 -0
  289. data/verify/views/templates/moo.mab +0 -0
  290. metadata +597 -224
  291. data/lib/utilities/kernel.rb +0 -34
@@ -0,0 +1,269 @@
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::ResponseProxy</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::ResponseProxy</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/runtime/response_proxy_rb.html">
59
+ lib/runtime/response_proxy.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
+ <div id="description">
82
+ <p>
83
+ <a href="Mapping.html">Mapping</a> actions are evaluated in the context of
84
+ a <a href="ResponseProxy.html">ResponseProxy</a>.
85
+ </p>
86
+
87
+ </div>
88
+
89
+
90
+ </div>
91
+
92
+ <div id="method-list">
93
+ <h3 class="section-bar">Methods</h3>
94
+
95
+ <div class="name-list">
96
+ <a href="#M000158">controller</a>&nbsp;&nbsp;
97
+ <a href="#M000156">new</a>&nbsp;&nbsp;
98
+ <a href="#M000160">redirect</a>&nbsp;&nbsp;
99
+ <a href="#M000157">resource</a>&nbsp;&nbsp;
100
+ <a href="#M000159">view</a>&nbsp;&nbsp;
101
+ </div>
102
+ </div>
103
+
104
+ </div>
105
+
106
+
107
+ <!-- if includes -->
108
+ <div id="includes">
109
+ <h3 class="section-bar">Included Modules</h3>
110
+
111
+ <div id="includes-list">
112
+ <span class="include-name"><a href="ResponseMixin.html">ResponseMixin</a></span>
113
+ </div>
114
+ </div>
115
+
116
+ <div id="section">
117
+
118
+
119
+
120
+
121
+
122
+ <div id="attribute-list">
123
+ <h3 class="section-bar">Attributes</h3>
124
+
125
+ <div class="name-list">
126
+ <table>
127
+ <tr class="top-aligned-row context-row">
128
+ <td class="context-item-name">request</td>
129
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
130
+ <td class="context-item-desc"></td>
131
+ </tr>
132
+ </table>
133
+ </div>
134
+ </div>
135
+
136
+
137
+
138
+ <!-- if method_list -->
139
+ <div id="methods">
140
+ <h3 class="section-bar">Public Class methods</h3>
141
+
142
+ <div id="method-M000156" class="method-detail">
143
+ <a name="M000156"></a>
144
+
145
+ <div class="method-heading">
146
+ <a href="#M000156" class="method-signature">
147
+ <span class="method-name">new</span><span class="method-args">(request)</span>
148
+ </a>
149
+ </div>
150
+
151
+ <div class="method-description">
152
+ <p><a class="source-toggle" href="#"
153
+ onclick="toggleCode('M000156-source');return false;">[Source]</a></p>
154
+ <div class="method-source-code" id="M000156-source">
155
+ <pre>
156
+ <span class="ruby-comment cmt"># File lib/runtime/response_proxy.rb, line 10</span>
157
+ 10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">request</span>)
158
+ 11: <span class="ruby-ivar">@request</span> = <span class="ruby-identifier">request</span>
159
+ 12: <span class="ruby-keyword kw">end</span>
160
+ </pre>
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ <h3 class="section-bar">Public Instance methods</h3>
166
+
167
+ <div id="method-M000158" class="method-detail">
168
+ <a name="M000158"></a>
169
+
170
+ <div class="method-heading">
171
+ <a href="#M000158" class="method-signature">
172
+ <span class="method-name">controller</span><span class="method-args">( &amp;block )</span>
173
+ </a>
174
+ </div>
175
+
176
+ <div class="method-description">
177
+ <p><a class="source-toggle" href="#"
178
+ onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
179
+ <div class="method-source-code" id="M000158-source">
180
+ <pre>
181
+ <span class="ruby-comment cmt"># File lib/runtime/response_proxy.rb, line 18</span>
182
+ 18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">controller</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
183
+ 19: <span class="ruby-identifier">lambda</span> { <span class="ruby-constant">Waves</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">controllers</span>[ <span class="ruby-ivar">@resource</span> ].<span class="ruby-identifier">process</span>( <span class="ruby-ivar">@request</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> ) }
184
+ 20: <span class="ruby-keyword kw">end</span>
185
+ </pre>
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ <div id="method-M000160" class="method-detail">
191
+ <a name="M000160"></a>
192
+
193
+ <div class="method-heading">
194
+ <a href="#M000160" class="method-signature">
195
+ <span class="method-name">redirect</span><span class="method-args">(path, status = '302')</span>
196
+ </a>
197
+ </div>
198
+
199
+ <div class="method-description">
200
+ <p><a class="source-toggle" href="#"
201
+ onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
202
+ <div class="method-source-code" id="M000160-source">
203
+ <pre>
204
+ <span class="ruby-comment cmt"># File lib/runtime/response_proxy.rb, line 26</span>
205
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">redirect</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">status</span> = <span class="ruby-value str">'302'</span>); <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">redirect</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">status</span>); <span class="ruby-keyword kw">end</span>
206
+ </pre>
207
+ </div>
208
+ </div>
209
+ </div>
210
+
211
+ <div id="method-M000157" class="method-detail">
212
+ <a name="M000157"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="#M000157" class="method-signature">
216
+ <span class="method-name">resource</span><span class="method-args">( resource ) {|.call| ...}</span>
217
+ </a>
218
+ </div>
219
+
220
+ <div class="method-description">
221
+ <p><a class="source-toggle" href="#"
222
+ onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000157-source">
224
+ <pre>
225
+ <span class="ruby-comment cmt"># File lib/runtime/response_proxy.rb, line 14</span>
226
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resource</span>( <span class="ruby-identifier">resource</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
227
+ 15: <span class="ruby-ivar">@resource</span> = <span class="ruby-identifier">resource</span>; <span class="ruby-keyword kw">yield</span>.<span class="ruby-identifier">call</span>
228
+ 16: <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div id="method-M000159" class="method-detail">
235
+ <a name="M000159"></a>
236
+
237
+ <div class="method-heading">
238
+ <a href="#M000159" class="method-signature">
239
+ <span class="method-name">view</span><span class="method-args">( &amp;block )</span>
240
+ </a>
241
+ </div>
242
+
243
+ <div class="method-description">
244
+ <p><a class="source-toggle" href="#"
245
+ onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
246
+ <div class="method-source-code" id="M000159-source">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File lib/runtime/response_proxy.rb, line 22</span>
249
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">view</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
250
+ 23: <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span> <span class="ruby-constant">Waves</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">views</span>[ <span class="ruby-ivar">@resource</span> ].<span class="ruby-identifier">process</span>( <span class="ruby-ivar">@request</span>, <span class="ruby-identifier">val</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> ) }
251
+ 24: <span class="ruby-keyword kw">end</span>
252
+ </pre>
253
+ </div>
254
+ </div>
255
+ </div>
256
+
257
+
258
+ </div>
259
+
260
+
261
+ </div>
262
+
263
+
264
+ <div id="validator-badges">
265
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
266
+ </div>
267
+
268
+ </body>
269
+ </html>
@@ -0,0 +1,488 @@
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::Server</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::Server</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/runtime/server_rb.html">
59
+ lib/runtime/server.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
+ <a href="Application.html">
69
+ Application
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+ <div id="description">
84
+ <p>
85
+ You can <a href="Server.html#M000191">run</a> the <a
86
+ href="Server.html">Waves::Server</a> via the +waves-server+ command or via
87
+ <tt>rake cluster:<a href="Server.html#M000188">start</a></tt>. Run
88
+ <tt>waves-server &#8212;help</tt> for options on the <tt>waves-server</tt>
89
+ command. The <tt>cluster:<a href="Server.html#M000188">start</a></tt> task
90
+ uses the <tt>mode</tt> environment variable to determine the active
91
+ configuration. You can define <tt><a
92
+ href="Server.html#M000184">port</a></tt> to <a
93
+ href="Server.html#M000191">run</a> on a single <a
94
+ href="Server.html#M000184">port</a>, or <tt>ports</tt> (taking an array) to
95
+ <a href="Server.html#M000191">run</a> on multiple ports.
96
+ </p>
97
+ <p>
98
+ <b>Example</b>
99
+ </p>
100
+ <p>
101
+ Assume that <tt>ports</tt> is set in the development configuration like
102
+ this:
103
+ </p>
104
+ <pre>
105
+ ports [ 2020, 2021, 2022 ]
106
+ </pre>
107
+ <p>
108
+ Then you could <a href="Server.html#M000188">start</a> up instances on all
109
+ three ports using:
110
+ </p>
111
+ <pre>
112
+ rake cluster:start mode=development
113
+ </pre>
114
+ <p>
115
+ This is the equivalent of running:
116
+ </p>
117
+ <pre>
118
+ waves-server -c development -p 2020 -d
119
+ waves-server -c development -p 2021 -d
120
+ waves-server -c development -p 2022 -d
121
+ </pre>
122
+ <p>
123
+ The +cluster:<a href="Server.html#M000189">stop</a>+ task stops all of the
124
+ instances.
125
+ </p>
126
+
127
+ </div>
128
+
129
+
130
+ </div>
131
+
132
+ <div id="method-list">
133
+ <h3 class="section-bar">Methods</h3>
134
+
135
+ <div class="name-list">
136
+ <a href="#M000185">daemonize</a>&nbsp;&nbsp;
137
+ <a href="#M000183">host</a>&nbsp;&nbsp;
138
+ <a href="#M000187">log</a>&nbsp;&nbsp;
139
+ <a href="#M000192">method_missing</a>&nbsp;&nbsp;
140
+ <a href="#M000184">port</a>&nbsp;&nbsp;
141
+ <a href="#M000191">run</a>&nbsp;&nbsp;
142
+ <a href="#M000188">start</a>&nbsp;&nbsp;
143
+ <a href="#M000189">stop</a>&nbsp;&nbsp;
144
+ <a href="#M000190">synchronize</a>&nbsp;&nbsp;
145
+ <a href="#M000193">synchronize</a>&nbsp;&nbsp;
146
+ <a href="#M000186">trap</a>&nbsp;&nbsp;
147
+ </div>
148
+ </div>
149
+
150
+ </div>
151
+
152
+
153
+ <!-- if includes -->
154
+
155
+ <div id="section">
156
+
157
+
158
+
159
+
160
+
161
+ <div id="attribute-list">
162
+ <h3 class="section-bar">Attributes</h3>
163
+
164
+ <div class="name-list">
165
+ <table>
166
+ <tr class="top-aligned-row context-row">
167
+ <td class="context-item-name">thread</td>
168
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
169
+ <td class="context-item-desc">
170
+ Access the server thread.
171
+
172
+ </td>
173
+ </tr>
174
+ </table>
175
+ </div>
176
+ </div>
177
+
178
+
179
+
180
+ <!-- if method_list -->
181
+ <div id="methods">
182
+ <h3 class="section-bar">Public Class methods</h3>
183
+
184
+ <div id="method-M000192" class="method-detail">
185
+ <a name="M000192"></a>
186
+
187
+ <div class="method-heading">
188
+ <a href="#M000192" class="method-signature">
189
+ <span class="method-name">method_missing</span><span class="method-args">(*args)</span>
190
+ </a>
191
+ </div>
192
+
193
+ <div class="method-description">
194
+ <p>
195
+ Allows us to access the <a href="Server.html">Waves::Server</a> instance.
196
+ </p>
197
+ <p><a class="source-toggle" href="#"
198
+ onclick="toggleCode('M000192-source');return false;">[Source]</a></p>
199
+ <div class="method-source-code" id="M000192-source">
200
+ <pre>
201
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 84</span>
202
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
203
+ 85: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">send</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
204
+ 86: <span class="ruby-keyword kw">end</span>
205
+ </pre>
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ <div id="method-M000191" class="method-detail">
211
+ <a name="M000191"></a>
212
+
213
+ <div class="method-heading">
214
+ <a href="#M000191" class="method-signature">
215
+ <span class="method-name">run</span><span class="method-args">( options={} )</span>
216
+ </a>
217
+ </div>
218
+
219
+ <div class="method-description">
220
+ <p>
221
+ Start or restart the server.
222
+ </p>
223
+ <p><a class="source-toggle" href="#"
224
+ onclick="toggleCode('M000191-source');return false;">[Source]</a></p>
225
+ <div class="method-source-code" id="M000191-source">
226
+ <pre>
227
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 79</span>
228
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>( <span class="ruby-identifier">options</span>={} )
229
+ 80: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">stop</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@server</span>; <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">new</span>( <span class="ruby-identifier">options</span> ); <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">start</span>
230
+ 81: <span class="ruby-keyword kw">end</span>
231
+ </pre>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <div id="method-M000193" class="method-detail">
237
+ <a name="M000193"></a>
238
+
239
+ <div class="method-heading">
240
+ <a href="#M000193" class="method-signature">
241
+ <span class="method-name">synchronize</span><span class="method-args">(&amp;block)</span>
242
+ </a>
243
+ </div>
244
+
245
+ <div class="method-description">
246
+ <p><a class="source-toggle" href="#"
247
+ onclick="toggleCode('M000193-source');return false;">[Source]</a></p>
248
+ <div class="method-source-code" id="M000193-source">
249
+ <pre>
250
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 89</span>
251
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">synchronize</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) ; <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">synchronize</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) ; <span class="ruby-keyword kw">end</span>
252
+ </pre>
253
+ </div>
254
+ </div>
255
+ </div>
256
+
257
+ <h3 class="section-bar">Public Instance methods</h3>
258
+
259
+ <div id="method-M000185" class="method-detail">
260
+ <a name="M000185"></a>
261
+
262
+ <div class="method-heading">
263
+ <a href="#M000185" class="method-signature">
264
+ <span class="method-name">daemonize</span><span class="method-args">()</span>
265
+ </a>
266
+ </div>
267
+
268
+ <div class="method-description">
269
+ <p>
270
+ Run the server as a daemon. Corresponds to the -d switch on +waves-server+.
271
+ </p>
272
+ <p><a class="source-toggle" href="#"
273
+ onclick="toggleCode('M000185-source');return false;">[Source]</a></p>
274
+ <div class="method-source-code" id="M000185-source">
275
+ <pre>
276
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 34</span>
277
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">daemonize</span>
278
+ 35: <span class="ruby-identifier">pwd</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
279
+ 36: <span class="ruby-constant">Daemonize</span>.<span class="ruby-identifier">daemonize</span>( <span class="ruby-constant">Waves</span><span class="ruby-operator">::</span><span class="ruby-constant">Logger</span>.<span class="ruby-identifier">output</span> )
280
+ 37: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">pwd</span>)
281
+ 38: <span class="ruby-constant">File</span>.<span class="ruby-identifier">write</span>( <span class="ruby-identifier">:log</span> <span class="ruby-operator">/</span> <span class="ruby-node">&quot;#{port}.pid&quot;</span>, <span class="ruby-identifier">$$</span> )
282
+ 39: <span class="ruby-keyword kw">end</span>
283
+ </pre>
284
+ </div>
285
+ </div>
286
+ </div>
287
+
288
+ <div id="method-M000183" class="method-detail">
289
+ <a name="M000183"></a>
290
+
291
+ <div class="method-heading">
292
+ <a href="#M000183" class="method-signature">
293
+ <span class="method-name">host</span><span class="method-args">()</span>
294
+ </a>
295
+ </div>
296
+
297
+ <div class="method-description">
298
+ <p>
299
+ Access the <a href="Server.html#M000183">host</a> we&#8216;re binding to
300
+ (set via the configuration).
301
+ </p>
302
+ <p><a class="source-toggle" href="#"
303
+ onclick="toggleCode('M000183-source');return false;">[Source]</a></p>
304
+ <div class="method-source-code" id="M000183-source">
305
+ <pre>
306
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 28</span>
307
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">host</span> ; <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:host</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">host</span> ; <span class="ruby-keyword kw">end</span>
308
+ </pre>
309
+ </div>
310
+ </div>
311
+ </div>
312
+
313
+ <div id="method-M000187" class="method-detail">
314
+ <a name="M000187"></a>
315
+
316
+ <div class="method-heading">
317
+ <a href="#M000187" class="method-signature">
318
+ <span class="method-name">log</span><span class="method-args">()</span>
319
+ </a>
320
+ </div>
321
+
322
+ <div class="method-description">
323
+ <p>
324
+ Start and / or access the <a href="Logger.html">Waves::Logger</a> instance.
325
+ </p>
326
+ <p><a class="source-toggle" href="#"
327
+ onclick="toggleCode('M000187-source');return false;">[Source]</a></p>
328
+ <div class="method-source-code" id="M000187-source">
329
+ <pre>
330
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 47</span>
331
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log</span>
332
+ 48: <span class="ruby-ivar">@log</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Waves</span><span class="ruby-operator">::</span><span class="ruby-constant">Logger</span>.<span class="ruby-identifier">start</span>
333
+ 49: <span class="ruby-keyword kw">end</span>
334
+ </pre>
335
+ </div>
336
+ </div>
337
+ </div>
338
+
339
+ <div id="method-M000184" class="method-detail">
340
+ <a name="M000184"></a>
341
+
342
+ <div class="method-heading">
343
+ <a href="#M000184" class="method-signature">
344
+ <span class="method-name">port</span><span class="method-args">()</span>
345
+ </a>
346
+ </div>
347
+
348
+ <div class="method-description">
349
+ <p>
350
+ Access the <a href="Server.html#M000184">port</a> we&#8216;re listening on
351
+ (set via the configuration).
352
+ </p>
353
+ <p><a class="source-toggle" href="#"
354
+ onclick="toggleCode('M000184-source');return false;">[Source]</a></p>
355
+ <div class="method-source-code" id="M000184-source">
356
+ <pre>
357
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 31</span>
358
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">port</span> ; <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:port</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">port</span> ; <span class="ruby-keyword kw">end</span>
359
+ </pre>
360
+ </div>
361
+ </div>
362
+ </div>
363
+
364
+ <div id="method-M000188" class="method-detail">
365
+ <a name="M000188"></a>
366
+
367
+ <div class="method-heading">
368
+ <a href="#M000188" class="method-signature">
369
+ <span class="method-name">start</span><span class="method-args">()</span>
370
+ </a>
371
+ </div>
372
+
373
+ <div class="method-description">
374
+ <p>
375
+ Start the server.
376
+ </p>
377
+ <p><a class="source-toggle" href="#"
378
+ onclick="toggleCode('M000188-source');return false;">[Source]</a></p>
379
+ <div class="method-source-code" id="M000188-source">
380
+ <pre>
381
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 52</span>
382
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
383
+ 53: <span class="ruby-identifier">daemonize</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:daemon</span>]
384
+ 54: <span class="ruby-identifier">start_debugger</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:debugger</span>]
385
+ 55: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;** Waves Server starting on #{host}:#{port}&quot;</span>
386
+ 56: <span class="ruby-identifier">handler</span>, <span class="ruby-identifier">options</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">handler</span>
387
+ 57: <span class="ruby-identifier">handler</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">config</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">to_app</span>, <span class="ruby-identifier">options</span> ) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
388
+ 58: <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">server</span>
389
+ 59: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">trap</span>(<span class="ruby-value str">'INT'</span>) { <span class="ruby-identifier">puts</span>; <span class="ruby-identifier">stop</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:stop</span>
390
+ 60: <span class="ruby-keyword kw">end</span>
391
+ 61: <span class="ruby-keyword kw">end</span>
392
+ </pre>
393
+ </div>
394
+ </div>
395
+ </div>
396
+
397
+ <div id="method-M000189" class="method-detail">
398
+ <a name="M000189"></a>
399
+
400
+ <div class="method-heading">
401
+ <a href="#M000189" class="method-signature">
402
+ <span class="method-name">stop</span><span class="method-args">()</span>
403
+ </a>
404
+ </div>
405
+
406
+ <div class="method-description">
407
+ <p>
408
+ Stop the server.
409
+ </p>
410
+ <p><a class="source-toggle" href="#"
411
+ onclick="toggleCode('M000189-source');return false;">[Source]</a></p>
412
+ <div class="method-source-code" id="M000189-source">
413
+ <pre>
414
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 64</span>
415
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
416
+ 65: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;** Waves Server Stopping ...&quot;</span>
417
+ 66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:daemon</span>]
418
+ 67: <span class="ruby-identifier">pid_file</span> = <span class="ruby-identifier">:log</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">$$</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.pid'</span>; <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm</span>( <span class="ruby-identifier">pid_file</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>( <span class="ruby-identifier">pid_file</span> )
419
+ 68: <span class="ruby-keyword kw">end</span>
420
+ 69: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">stop</span>
421
+ 70: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;** Waves Server Stopped&quot;</span>
422
+ 71: <span class="ruby-keyword kw">end</span>
423
+ </pre>
424
+ </div>
425
+ </div>
426
+ </div>
427
+
428
+ <div id="method-M000190" class="method-detail">
429
+ <a name="M000190"></a>
430
+
431
+ <div class="method-heading">
432
+ <a href="#M000190" class="method-signature">
433
+ <span class="method-name">synchronize</span><span class="method-args">( &amp;block )</span>
434
+ </a>
435
+ </div>
436
+
437
+ <div class="method-description">
438
+ <p>
439
+ Provides access to the server mutex for thread-safe operation.
440
+ </p>
441
+ <p><a class="source-toggle" href="#"
442
+ onclick="toggleCode('M000190-source');return false;">[Source]</a></p>
443
+ <div class="method-source-code" id="M000190-source">
444
+ <pre>
445
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 74</span>
446
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">synchronize</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> ) ; ( <span class="ruby-ivar">@mutex</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span> ).<span class="ruby-identifier">synchronize</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> ) ; <span class="ruby-keyword kw">end</span>
447
+ </pre>
448
+ </div>
449
+ </div>
450
+ </div>
451
+
452
+ <div id="method-M000186" class="method-detail">
453
+ <a name="M000186"></a>
454
+
455
+ <div class="method-heading">
456
+ <a href="#M000186" class="method-signature">
457
+ <span class="method-name">trap</span><span class="method-args">(signal) {|| ...}</span>
458
+ </a>
459
+ </div>
460
+
461
+ <div class="method-description">
462
+ <p><a class="source-toggle" href="#"
463
+ onclick="toggleCode('M000186-source');return false;">[Source]</a></p>
464
+ <div class="method-source-code" id="M000186-source">
465
+ <pre>
466
+ <span class="ruby-comment cmt"># File lib/runtime/server.rb, line 41</span>
467
+ 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">trap</span>(<span class="ruby-identifier">signal</span>)
468
+ 42: <span class="ruby-constant">Kernel</span><span class="ruby-operator">::</span><span class="ruby-identifier">trap</span>(<span class="ruby-identifier">signal</span>) { <span class="ruby-keyword kw">yield</span> }
469
+ 43: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">loop</span> {<span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>} } <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/mswin32/</span>
470
+ 44: <span class="ruby-keyword kw">end</span>
471
+ </pre>
472
+ </div>
473
+ </div>
474
+ </div>
475
+
476
+
477
+ </div>
478
+
479
+
480
+ </div>
481
+
482
+
483
+ <div id="validator-badges">
484
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
485
+ </div>
486
+
487
+ </body>
488
+ </html>