utopia 2.13.4 → 2.14.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 (353) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/development.yml +62 -0
  3. data/README.md +3 -5
  4. data/bake/utopia/yarn.rb +4 -2
  5. data/docs/_components/jquery-litebox/jquery.litebox.css +23 -0
  6. data/docs/_components/jquery-litebox/jquery.litebox.gallery.css +48 -0
  7. data/docs/_components/jquery-litebox/jquery.litebox.js +30 -0
  8. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +6 -0
  9. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +4 -10
  10. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +5 -2
  11. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +8 -8
  12. data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +1 -1
  13. data/docs/_components/jquery-syntax/base/jquery.syntax.core.css +43 -47
  14. data/docs/_components/jquery-syntax/jquery.syntax.brush.apache.js +3 -41
  15. data/docs/_components/jquery-syntax/jquery.syntax.brush.applescript.js +5 -57
  16. data/docs/_components/jquery-syntax/jquery.syntax.brush.assembly.js +3 -37
  17. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +4 -67
  18. data/docs/_components/jquery-syntax/jquery.syntax.brush.bash.js +2 -33
  19. data/docs/_components/jquery-syntax/jquery.syntax.brush.basic.js +5 -51
  20. data/docs/_components/jquery-syntax/jquery.syntax.brush.clang.js +5 -89
  21. data/docs/_components/jquery-syntax/jquery.syntax.brush.csharp.js +4 -47
  22. data/docs/_components/jquery-syntax/jquery.syntax.brush.css.js +5 -80
  23. data/docs/_components/jquery-syntax/jquery.syntax.brush.diff.js +2 -24
  24. data/docs/_components/jquery-syntax/jquery.syntax.brush.go.js +3 -47
  25. data/docs/_components/jquery-syntax/jquery.syntax.brush.haskell.js +3 -45
  26. data/docs/_components/jquery-syntax/jquery.syntax.brush.html.js +4 -66
  27. data/docs/_components/jquery-syntax/jquery.syntax.brush.io.js +3 -45
  28. data/docs/_components/jquery-syntax/jquery.syntax.brush.java.js +4 -45
  29. data/docs/_components/jquery-syntax/jquery.syntax.brush.javascript.js +3 -40
  30. data/docs/_components/jquery-syntax/jquery.syntax.brush.kai.js +2 -29
  31. data/docs/_components/jquery-syntax/jquery.syntax.brush.lisp.js +2 -34
  32. data/docs/_components/jquery-syntax/jquery.syntax.brush.lua.js +3 -44
  33. data/docs/_components/jquery-syntax/jquery.syntax.brush.nginx.js +2 -31
  34. data/docs/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +4 -73
  35. data/docs/_components/jquery-syntax/jquery.syntax.brush.ooc.js +4 -46
  36. data/docs/_components/jquery-syntax/jquery.syntax.brush.pascal.js +4 -51
  37. data/docs/_components/jquery-syntax/jquery.syntax.brush.perl5.js +3 -52
  38. data/docs/_components/jquery-syntax/jquery.syntax.brush.php-script.js +4 -48
  39. data/docs/_components/jquery-syntax/jquery.syntax.brush.php.js +2 -15
  40. data/docs/_components/jquery-syntax/jquery.syntax.brush.plain.js +2 -10
  41. data/docs/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +3 -43
  42. data/docs/_components/jquery-syntax/jquery.syntax.brush.python.js +5 -44
  43. data/docs/_components/jquery-syntax/jquery.syntax.brush.ruby.js +5 -77
  44. data/docs/_components/jquery-syntax/jquery.syntax.brush.scala.js +4 -44
  45. data/docs/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +2 -29
  46. data/docs/_components/jquery-syntax/jquery.syntax.brush.sql.js +4 -31
  47. data/docs/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +3 -57
  48. data/docs/_components/jquery-syntax/jquery.syntax.brush.swift.js +3 -55
  49. data/docs/_components/jquery-syntax/jquery.syntax.brush.trenni.js +2 -35
  50. data/docs/_components/jquery-syntax/jquery.syntax.brush.xml.js +4 -50
  51. data/docs/_components/jquery-syntax/jquery.syntax.brush.yaml.js +2 -29
  52. data/docs/_components/jquery-syntax/jquery.syntax.cache.js +7 -65
  53. data/docs/_components/jquery-syntax/jquery.syntax.core.js +34 -1098
  54. data/docs/_components/jquery-syntax/jquery.syntax.editor.js +11 -291
  55. data/docs/_components/jquery-syntax/jquery.syntax.js +8 -258
  56. data/docs/_components/jquery/jquery.js +1678 -1026
  57. data/docs/_components/jquery/jquery.min.js +2 -4
  58. data/docs/_components/jquery/jquery.min.map +1 -1
  59. data/docs/_components/jquery/jquery.slim.js +1602 -932
  60. data/docs/_components/jquery/jquery.slim.min.js +2 -4
  61. data/docs/_components/jquery/jquery.slim.min.map +1 -1
  62. data/docs/_static/icon.png +0 -0
  63. data/docs/_static/site.css +100 -114
  64. data/docs/{wiki/development-environment-setup.html → development-environment-setup/index.html} +9 -15
  65. data/docs/{wiki/faq/what-is-xnode.html → faq/what-is-xnode/index.html} +9 -15
  66. data/docs/index.html +25 -31
  67. data/docs/javascript/index.html +108 -0
  68. data/docs/{wiki/middleware/content.html → middleware/content/index.html} +9 -15
  69. data/docs/{wiki/middleware/controller/actions.html → middleware/controller/actions/index.html} +11 -17
  70. data/docs/{wiki/middleware/controller.html → middleware/controller/index.html} +9 -15
  71. data/docs/{wiki/middleware/controller/rewrite.html → middleware/controller/rewrite/index.html} +9 -15
  72. data/docs/{wiki/middleware/localization.html → middleware/localization/index.html} +9 -15
  73. data/docs/{wiki/middleware/redirection.html → middleware/redirection/index.html} +9 -15
  74. data/docs/{wiki/middleware/session.html → middleware/session/index.html} +9 -15
  75. data/docs/{wiki/middleware/static.html → middleware/static/index.html} +9 -15
  76. data/docs/{wiki/server-setup.html → server-setup/index.html} +11 -42
  77. data/docs/{wiki/testing.html → testing/index.html} +10 -16
  78. data/docs/{wiki/updating-utopia.html → updating-utopia/index.html} +9 -15
  79. data/docs/{wiki/your-first-page.html → your-first-page/index.html} +11 -17
  80. data/lib/utopia/content.rb +23 -19
  81. data/lib/utopia/content/link.rb +29 -34
  82. data/lib/utopia/content/links.rb +185 -123
  83. data/lib/utopia/content/node.rb +13 -17
  84. data/lib/utopia/content/response.rb +2 -2
  85. data/lib/utopia/localization.rb +18 -10
  86. data/lib/utopia/path.rb +36 -32
  87. data/lib/utopia/version.rb +1 -1
  88. data/setup/site/Gemfile +7 -5
  89. data/spec/utopia/command_spec.rb +1 -1
  90. data/spec/utopia/content/links/bar/index.xnode +0 -0
  91. data/spec/utopia/content/links/bar/parent/child/index.en.xnode +0 -0
  92. data/spec/utopia/content/links/bar/parent/child/index.ja.xnode +0 -0
  93. data/spec/utopia/content/links/bar/parent/links.yaml +2 -0
  94. data/spec/utopia/content/links/index.xnode +0 -0
  95. data/spec/utopia/content/links/links.yaml +10 -1
  96. data/spec/utopia/content/links/redirect/links.yaml +2 -0
  97. data/spec/utopia/content/links_spec.rb +160 -43
  98. data/spec/utopia/content/localized/links.yaml +2 -5
  99. data/spec/utopia/content/node_spec.rb +1 -1
  100. data/spec/utopia/path_spec.rb +50 -5
  101. data/wiki/Gemfile +9 -0
  102. data/wiki/config.ru +7 -0
  103. data/{documentation/pages/wiki/development-environment-setup/content.md → wiki/pages/development-environment-setup/index.md} +0 -0
  104. data/wiki/pages/faq/links.yaml +2 -0
  105. data/{documentation/pages/wiki/faq/what-is-xnode/content.md → wiki/pages/faq/what-is-xnode/index.md} +1 -1
  106. data/wiki/pages/faq/what-is-xnode/links.yaml +2 -0
  107. data/{documentation/pages/wiki/content.md → wiki/pages/index.md} +2 -2
  108. data/{documentation/pages/wiki/javascript/content.md → wiki/pages/javascript/index.md} +15 -13
  109. data/wiki/pages/javascript/links.yaml +2 -0
  110. data/wiki/pages/links.yaml +2 -0
  111. data/{documentation/pages/wiki/middleware/content/content.md → wiki/pages/middleware/content/index.md} +0 -0
  112. data/{documentation/pages/wiki/middleware/controller/actions/content.md → wiki/pages/middleware/controller/actions/index.md} +2 -2
  113. data/{documentation/pages/wiki/middleware/controller/content.md → wiki/pages/middleware/controller/index.md} +0 -0
  114. data/{documentation/pages/wiki → wiki/pages}/middleware/controller/links.yaml +0 -0
  115. data/{documentation/pages/wiki/middleware/controller/rewrite/content.md → wiki/pages/middleware/controller/rewrite/index.md} +0 -0
  116. data/{documentation/pages/wiki/middleware/localization/content.md → wiki/pages/middleware/localization/index.md} +0 -0
  117. data/{documentation/pages/wiki/middleware/redirection/content.md → wiki/pages/middleware/redirection/index.md} +0 -0
  118. data/{documentation/pages/wiki/middleware/session/content.md → wiki/pages/middleware/session/index.md} +0 -0
  119. data/{documentation/pages/wiki/middleware/static/content.md → wiki/pages/middleware/static/index.md} +0 -0
  120. data/{documentation/pages/wiki/server-setup/content.md → wiki/pages/server-setup/index.md} +0 -0
  121. data/{documentation/pages/wiki/testing/content.md → wiki/pages/testing/index.md} +0 -0
  122. data/{documentation/pages/wiki/updating-utopia/content.md → wiki/pages/updating-utopia/index.md} +0 -0
  123. data/{documentation/pages/wiki/your-first-page/content.md → wiki/pages/your-first-page/index.md} +2 -2
  124. metadata +56 -263
  125. data/.travis.yml +0 -28
  126. data/Rakefile +0 -33
  127. data/docs/_components/jquery/core.js +0 -482
  128. data/docs/_static/utopia-background.svg +0 -1
  129. data/docs/_static/utopia.svg +0 -1
  130. data/docs/code/Utopia.html +0 -517
  131. data/docs/code/Utopia/Basename.html +0 -654
  132. data/docs/code/Utopia/Bootstrap.html +0 -538
  133. data/docs/code/Utopia/Command.html +0 -213
  134. data/docs/code/Utopia/Command/Environment.html +0 -321
  135. data/docs/code/Utopia/Command/Server.html +0 -214
  136. data/docs/code/Utopia/Command/Server/Create.html +0 -222
  137. data/docs/code/Utopia/Command/Server/Environment.html +0 -236
  138. data/docs/code/Utopia/Command/Server/Update.html +0 -317
  139. data/docs/code/Utopia/Command/Setup.html +0 -145
  140. data/docs/code/Utopia/Command/Setup/Server.html +0 -298
  141. data/docs/code/Utopia/Command/Setup/Site.html +0 -180
  142. data/docs/code/Utopia/Command/Site.html +0 -285
  143. data/docs/code/Utopia/Command/Site/Create.html +0 -324
  144. data/docs/code/Utopia/Command/Site/Update.html +0 -407
  145. data/docs/code/Utopia/Command/Top.html +0 -279
  146. data/docs/code/Utopia/Content.html +0 -832
  147. data/docs/code/Utopia/Content/Document.html +0 -1822
  148. data/docs/code/Utopia/Content/Document/State.html +0 -1220
  149. data/docs/code/Utopia/Content/Link.html +0 -1286
  150. data/docs/code/Utopia/Content/Links.html +0 -847
  151. data/docs/code/Utopia/Content/MarkupParser.html +0 -881
  152. data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +0 -422
  153. data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +0 -615
  154. data/docs/code/Utopia/Content/Namespace.html +0 -485
  155. data/docs/code/Utopia/Content/Node.html +0 -1188
  156. data/docs/code/Utopia/Content/Node/Context.html +0 -938
  157. data/docs/code/Utopia/Content/Response.html +0 -813
  158. data/docs/code/Utopia/Content/SymbolicHash.html +0 -419
  159. data/docs/code/Utopia/Content/Tag.html +0 -399
  160. data/docs/code/Utopia/Content/Tags.html +0 -136
  161. data/docs/code/Utopia/Content/Tags/ContentTag.html +0 -187
  162. data/docs/code/Utopia/Content/Tags/DeferredTag.html +0 -193
  163. data/docs/code/Utopia/Content/Tags/Library.html +0 -333
  164. data/docs/code/Utopia/Content/Tags/NodeTag.html +0 -193
  165. data/docs/code/Utopia/Content/UnbalancedTagError.html +0 -298
  166. data/docs/code/Utopia/ContentLength.html +0 -343
  167. data/docs/code/Utopia/Controller.html +0 -907
  168. data/docs/code/Utopia/Controller/Actions.html +0 -289
  169. data/docs/code/Utopia/Controller/Actions/Action.html +0 -984
  170. data/docs/code/Utopia/Controller/Actions/ClassMethods.html +0 -442
  171. data/docs/code/Utopia/Controller/Base.html +0 -1216
  172. data/docs/code/Utopia/Controller/Respond.html +0 -293
  173. data/docs/code/Utopia/Controller/Respond/ClassMethods.html +0 -236
  174. data/docs/code/Utopia/Controller/Respond/Converter.html +0 -256
  175. data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +0 -484
  176. data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +0 -381
  177. data/docs/code/Utopia/Controller/Respond/Passthrough.html +0 -297
  178. data/docs/code/Utopia/Controller/Respond/Responder.html +0 -535
  179. data/docs/code/Utopia/Controller/Rewrite.html +0 -290
  180. data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +0 -242
  181. data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +0 -364
  182. data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +0 -464
  183. data/docs/code/Utopia/Controller/Rewrite/Rule.html +0 -209
  184. data/docs/code/Utopia/Controller/Variables.html +0 -550
  185. data/docs/code/Utopia/Controllers.html +0 -244
  186. data/docs/code/Utopia/Exceptions.html +0 -127
  187. data/docs/code/Utopia/Exceptions/Handler.html +0 -526
  188. data/docs/code/Utopia/Exceptions/Mailer.html +0 -482
  189. data/docs/code/Utopia/Extensions.html +0 -117
  190. data/docs/code/Utopia/Extensions/ArraySplit.html +0 -183
  191. data/docs/code/Utopia/Extensions/DateTimeComparison.html +0 -193
  192. data/docs/code/Utopia/Extensions/TimeDateComparison.html +0 -193
  193. data/docs/code/Utopia/HTTP.html +0 -250
  194. data/docs/code/Utopia/HTTP/Status.html +0 -415
  195. data/docs/code/Utopia/Locale.html +0 -606
  196. data/docs/code/Utopia/Localization.html +0 -1241
  197. data/docs/code/Utopia/Localization/Wrapper.html +0 -459
  198. data/docs/code/Utopia/Logger.html +0 -205
  199. data/docs/code/Utopia/Logger/CompactFormatter.html +0 -335
  200. data/docs/code/Utopia/Path.html +0 -3310
  201. data/docs/code/Utopia/Path/Matcher.html +0 -518
  202. data/docs/code/Utopia/Path/Matcher/MatchData.html +0 -475
  203. data/docs/code/Utopia/Redirection.html +0 -151
  204. data/docs/code/Utopia/Redirection/ClientRedirect.html +0 -717
  205. data/docs/code/Utopia/Redirection/DirectoryIndex.html +0 -298
  206. data/docs/code/Utopia/Redirection/Errors.html +0 -476
  207. data/docs/code/Utopia/Redirection/Moved.html +0 -312
  208. data/docs/code/Utopia/Redirection/RequestFailure.html +0 -226
  209. data/docs/code/Utopia/Redirection/Rewrite.html +0 -296
  210. data/docs/code/Utopia/Session.html +0 -889
  211. data/docs/code/Utopia/Session/LazyHash.html +0 -859
  212. data/docs/code/Utopia/Setup.html +0 -970
  213. data/docs/code/Utopia/Static.html +0 -696
  214. data/docs/code/Utopia/Static/LocalFile.html +0 -1104
  215. data/docs/code/Utopia/Static/MimeTypeLoader.html +0 -541
  216. data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +0 -124
  217. data/docs/code/Utopia/Tags.html +0 -115
  218. data/docs/code/Utopia/Tags/Environment.html +0 -314
  219. data/docs/code/Utopia/Tags/EnvironmentTag.html +0 -314
  220. data/docs/code/Utopia/Tags/Library.html +0 -340
  221. data/docs/code/_index.html +0 -758
  222. data/docs/code/class_list.html +0 -51
  223. data/docs/code/css/common.css +0 -1
  224. data/docs/code/css/full_list.css +0 -58
  225. data/docs/code/css/style.css +0 -496
  226. data/docs/code/file.README.html +0 -171
  227. data/docs/code/file_list.html +0 -56
  228. data/docs/code/frames.html +0 -17
  229. data/docs/code/index.html +0 -171
  230. data/docs/code/js/app.js +0 -292
  231. data/docs/code/js/full_list.js +0 -216
  232. data/docs/code/js/jquery.js +0 -4
  233. data/docs/code/materials/utopia.png +0 -0
  234. data/docs/code/materials/utopia.svg +0 -1
  235. data/docs/code/method_list.html +0 -3443
  236. data/docs/code/top-level-namespace.html +0 -110
  237. data/docs/wiki.html +0 -92
  238. data/docs/wiki/development-environment-setup/index.html +0 -60
  239. data/docs/wiki/edit.html +0 -103
  240. data/docs/wiki/faq/what-is-xnode/index.html +0 -79
  241. data/docs/wiki/javascript.html +0 -153
  242. data/docs/wiki/javascript/index.html +0 -153
  243. data/docs/wiki/middleware/content/index.html +0 -64
  244. data/docs/wiki/middleware/controller/actions/index.html +0 -117
  245. data/docs/wiki/middleware/controller/actions/rewrite/index.html +0 -48
  246. data/docs/wiki/middleware/controller/index.html +0 -104
  247. data/docs/wiki/middleware/controller/rewrite/index.html +0 -111
  248. data/docs/wiki/middleware/localization/index.html +0 -59
  249. data/docs/wiki/middleware/redirection/index.html +0 -61
  250. data/docs/wiki/middleware/session/index.html +0 -71
  251. data/docs/wiki/middleware/static/index.html +0 -57
  252. data/docs/wiki/server-setup/index.html +0 -118
  253. data/docs/wiki/testing/index.html +0 -59
  254. data/docs/wiki/updating-utopia/index.html +0 -108
  255. data/docs/wiki/your-first-page/index.html +0 -80
  256. data/documentation/.rspec +0 -4
  257. data/documentation/.yarnrc +0 -1
  258. data/documentation/Gemfile +0 -19
  259. data/documentation/Guardfile +0 -9
  260. data/documentation/Rakefile +0 -9
  261. data/documentation/config.ru +0 -41
  262. data/documentation/config/README.md +0 -7
  263. data/documentation/config/environment.rb +0 -12
  264. data/documentation/lib/readme.txt +0 -1
  265. data/documentation/pages/_editor.xnode +0 -64
  266. data/documentation/pages/_heading.xnode +0 -2
  267. data/documentation/pages/_page.xnode +0 -40
  268. data/documentation/pages/errors/exception.xnode +0 -5
  269. data/documentation/pages/errors/file-not-found.xnode +0 -5
  270. data/documentation/pages/links.yaml +0 -2
  271. data/documentation/pages/wiki/_listing.xnode +0 -32
  272. data/documentation/pages/wiki/_navigation.xnode +0 -15
  273. data/documentation/pages/wiki/controller.rb +0 -48
  274. data/documentation/pages/wiki/edit.xnode +0 -10
  275. data/documentation/pages/wiki/links.yaml +0 -6
  276. data/documentation/pages/wiki/show.xnode +0 -12
  277. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +0 -6
  278. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +0 -5
  279. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +0 -8
  280. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +0 -6
  281. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +0 -10
  282. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +0 -3
  283. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.css.css +0 -14
  284. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +0 -16
  285. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.html.css +0 -5
  286. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +0 -3
  287. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +0 -2
  288. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.python.css +0 -6
  289. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +0 -2
  290. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +0 -18
  291. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.core.css +0 -62
  292. data/documentation/public/_components/jquery-syntax/base/jquery.syntax.editor.css +0 -6
  293. data/documentation/public/_components/jquery-syntax/base/theme.js +0 -1
  294. data/documentation/public/_components/jquery-syntax/bright/jquery.syntax.core.css +0 -27
  295. data/documentation/public/_components/jquery-syntax/bright/theme.js +0 -1
  296. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.apache.js +0 -41
  297. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.applescript.js +0 -57
  298. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.assembly.js +0 -37
  299. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +0 -67
  300. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash.js +0 -33
  301. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.basic.js +0 -51
  302. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.clang.js +0 -89
  303. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.csharp.js +0 -47
  304. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.css.js +0 -80
  305. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.diff.js +0 -24
  306. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.go.js +0 -47
  307. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.haskell.js +0 -45
  308. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.html.js +0 -66
  309. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.io.js +0 -45
  310. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.java.js +0 -45
  311. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.javascript.js +0 -40
  312. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.kai.js +0 -29
  313. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lisp.js +0 -34
  314. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lua.js +0 -44
  315. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.nginx.js +0 -31
  316. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +0 -73
  317. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ooc.js +0 -46
  318. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.pascal.js +0 -51
  319. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.perl5.js +0 -52
  320. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php-script.js +0 -48
  321. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php.js +0 -15
  322. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.plain.js +0 -10
  323. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +0 -43
  324. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.python.js +0 -44
  325. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ruby.js +0 -77
  326. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.scala.js +0 -44
  327. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +0 -29
  328. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.sql.js +0 -31
  329. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +0 -57
  330. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.swift.js +0 -55
  331. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.trenni.js +0 -35
  332. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.xml.js +0 -50
  333. data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.yaml.js +0 -29
  334. data/documentation/public/_components/jquery-syntax/jquery.syntax.cache.js +0 -65
  335. data/documentation/public/_components/jquery-syntax/jquery.syntax.core.js +0 -1098
  336. data/documentation/public/_components/jquery-syntax/jquery.syntax.editor.js +0 -291
  337. data/documentation/public/_components/jquery-syntax/jquery.syntax.js +0 -258
  338. data/documentation/public/_components/jquery-syntax/jquery.syntax.min.js +0 -13
  339. data/documentation/public/_components/jquery-syntax/paper/jquery.syntax.core.css +0 -31
  340. data/documentation/public/_components/jquery-syntax/paper/theme.js +0 -1
  341. data/documentation/public/_components/jquery/core.js +0 -482
  342. data/documentation/public/_components/jquery/jquery.js +0 -10220
  343. data/documentation/public/_components/jquery/jquery.min.js +0 -4
  344. data/documentation/public/_components/jquery/jquery.min.map +0 -1
  345. data/documentation/public/_components/jquery/jquery.slim.js +0 -8107
  346. data/documentation/public/_components/jquery/jquery.slim.min.js +0 -4
  347. data/documentation/public/_components/jquery/jquery.slim.min.map +0 -1
  348. data/documentation/public/_static +0 -1
  349. data/documentation/public/materials +0 -1
  350. data/documentation/spec/website_context.rb +0 -12
  351. data/documentation/spec/website_spec.rb +0 -16
  352. data/documentation/tasks +0 -1
  353. data/spec/utopia/content/link_spec.rb +0 -47
@@ -1,907 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Class: Utopia::Controller
8
-
9
- &mdash; Documentation by YARD 0.9.18
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "Utopia::Controller";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (C)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../Utopia.html" title="Utopia (module)">Utopia</a></span></span>
41
- &raquo;
42
- <span class="title">Controller</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Class: Utopia::Controller
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
- <dl>
70
- <dt>Inherits:</dt>
71
- <dd>
72
- <span class="inheritName">Object</span>
73
-
74
- <ul class="fullTree">
75
- <li>Object</li>
76
-
77
- <li class="next">Utopia::Controller</li>
78
-
79
- </ul>
80
- <a href="#" class="inheritanceTree">show all</a>
81
-
82
- </dd>
83
- </dl>
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
- <dl>
96
- <dt>Defined in:</dt>
97
- <dd>lib/utopia/controller.rb<span class="defines">,<br />
98
- lib/utopia/controller/base.rb,<br /> lib/utopia/controller/actions.rb,<br /> lib/utopia/controller/respond.rb,<br /> lib/utopia/controller/rewrite.rb,<br /> lib/utopia/controller/variables.rb</span>
99
- </dd>
100
- </dl>
101
-
102
- </div>
103
-
104
- <h2>Overview</h2><div class="docstring">
105
- <div class="discussion">
106
- <p>A middleware which loads controller classes and invokes functionality based on the requested path.</p>
107
-
108
-
109
- </div>
110
- </div>
111
- <div class="tags">
112
-
113
-
114
- </div><h2>Defined Under Namespace</h2>
115
- <p class="children">
116
-
117
-
118
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="Controller/Actions.html" title="Utopia::Controller::Actions (module)">Actions</a></span>, <span class='object_link'><a href="Controller/Respond.html" title="Utopia::Controller::Respond (module)">Respond</a></span>, <span class='object_link'><a href="Controller/Rewrite.html" title="Utopia::Controller::Rewrite (module)">Rewrite</a></span>
119
-
120
-
121
-
122
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Controller/Base.html" title="Utopia::Controller::Base (class)">Base</a></span>, <span class='object_link'><a href="Controller/Variables.html" title="Utopia::Controller::Variables (class)">Variables</a></span>
123
-
124
-
125
- </p>
126
-
127
-
128
- <h2>
129
- Constant Summary
130
- <small><a href="#" class="constants_summary_toggle">collapse</a></small>
131
- </h2>
132
-
133
- <dl class="constants">
134
-
135
- <dt id="CONTROLLER_RB-constant" class="">CONTROLLER_RB =
136
- <div class="docstring">
137
- <div class="discussion">
138
- <p>The controller filename.</p>
139
-
140
-
141
- </div>
142
- </div>
143
- <div class="tags">
144
-
145
-
146
- </div>
147
- </dt>
148
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>controller.rb</span><span class='tstring_end'>&#39;</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
149
-
150
- </dl>
151
-
152
-
153
-
154
-
155
-
156
- <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
157
- <ul class="summary">
158
-
159
- <li class="public ">
160
- <span class="summary_signature">
161
-
162
- <a href="#app-instance_method" title="#app (instance method)">#<strong>app</strong> &#x21d2; Object </a>
163
-
164
-
165
-
166
- </span>
167
-
168
-
169
-
170
-
171
- <span class="note title readonly">readonly</span>
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute app.</p>
182
- </div></span>
183
-
184
- </li>
185
-
186
-
187
- </ul>
188
-
189
-
190
-
191
-
192
-
193
- <h2>
194
- Class Method Summary
195
- <small><a href="#" class="summary_toggle">collapse</a></small>
196
- </h2>
197
-
198
- <ul class="summary">
199
-
200
- <li class="public ">
201
- <span class="summary_signature">
202
-
203
- <a href="#[]-class_method" title="[] (class method)">.<strong>[]</strong>(request) &#x21d2; Object </a>
204
-
205
-
206
-
207
- </span>
208
-
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
- <span class="summary_desc"><div class='inline'>
218
- </div></span>
219
-
220
- </li>
221
-
222
-
223
- </ul>
224
-
225
- <h2>
226
- Instance Method Summary
227
- <small><a href="#" class="summary_toggle">collapse</a></small>
228
- </h2>
229
-
230
- <ul class="summary">
231
-
232
- <li class="public ">
233
- <span class="summary_signature">
234
-
235
- <a href="#call-instance_method" title="#call (instance method)">#<strong>call</strong>(env) &#x21d2; Object </a>
236
-
237
-
238
-
239
- </span>
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
- <span class="summary_desc"><div class='inline'>
250
- </div></span>
251
-
252
- </li>
253
-
254
-
255
- <li class="public ">
256
- <span class="summary_signature">
257
-
258
- <a href="#freeze-instance_method" title="#freeze (instance method)">#<strong>freeze</strong> &#x21d2; Object </a>
259
-
260
-
261
-
262
- </span>
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
- <span class="summary_desc"><div class='inline'>
273
- </div></span>
274
-
275
- </li>
276
-
277
-
278
- <li class="public ">
279
- <span class="summary_signature">
280
-
281
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(app, root: Utopia::default_root, base: Controller::Base) &#x21d2; Controller </a>
282
-
283
-
284
-
285
- </span>
286
-
287
-
288
- <span class="note title constructor">constructor</span>
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
- <span class="summary_desc"><div class='inline'><p>A new instance of Controller.</p>
298
- </div></span>
299
-
300
- </li>
301
-
302
-
303
- <li class="public ">
304
- <span class="summary_signature">
305
-
306
- <a href="#invoke_controllers-instance_method" title="#invoke_controllers (instance method)">#<strong>invoke_controllers</strong>(request) &#x21d2; Object </a>
307
-
308
-
309
-
310
- </span>
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
- <span class="summary_desc"><div class='inline'><p>Invoke the controller layer for a given request.</p>
321
- </div></span>
322
-
323
- </li>
324
-
325
-
326
- <li class="public ">
327
- <span class="summary_signature">
328
-
329
- <a href="#load_controller_file-instance_method" title="#load_controller_file (instance method)">#<strong>load_controller_file</strong>(uri_path) &#x21d2; Object </a>
330
-
331
-
332
-
333
- </span>
334
-
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
-
343
- <span class="summary_desc"><div class='inline'><p>Loads the controller file for the given relative url_path.</p>
344
- </div></span>
345
-
346
- </li>
347
-
348
-
349
- <li class="public ">
350
- <span class="summary_signature">
351
-
352
- <a href="#lookup_controller-instance_method" title="#lookup_controller (instance method)">#<strong>lookup_controller</strong>(path) &#x21d2; Object </a>
353
-
354
-
355
-
356
- </span>
357
-
358
-
359
-
360
-
361
-
362
-
363
-
364
-
365
-
366
- <span class="summary_desc"><div class='inline'><p>Fetch the controller for the given relative path.</p>
367
- </div></span>
368
-
369
- </li>
370
-
371
-
372
- </ul>
373
-
374
-
375
- <div id="constructor_details" class="method_details_list">
376
- <h2>Constructor Details</h2>
377
-
378
- <div class="method_details first">
379
- <h3 class="signature first" id="initialize-instance_method">
380
-
381
- #<strong>initialize</strong>(app, root: Utopia::default_root, base: Controller::Base) &#x21d2; <tt><span class='object_link'><a href="" title="Utopia::Controller (class)">Controller</a></span></tt>
382
-
383
-
384
-
385
-
386
-
387
- </h3><div class="docstring">
388
- <div class="discussion">
389
- <p>Returns a new instance of Controller</p>
390
-
391
-
392
- </div>
393
- </div>
394
- <div class="tags">
395
- <p class="tag_title">Parameters:</p>
396
- <ul class="param">
397
-
398
- <li>
399
-
400
- <span class='name'>root</span>
401
-
402
-
403
- <span class='type'>(<tt>String</tt>)</span>
404
-
405
-
406
-
407
- &mdash;
408
- <div class='inline'><p>The content root where controllers will be loaded from.</p>
409
- </div>
410
-
411
- </li>
412
-
413
- <li>
414
-
415
- <span class='name'>base</span>
416
-
417
-
418
- <span class='type'>(<tt>Class</tt>)</span>
419
-
420
-
421
-
422
- &mdash;
423
- <div class='inline'><p>The base class for controllers.</p>
424
- </div>
425
-
426
- </li>
427
-
428
- </ul>
429
-
430
-
431
- </div><table class="source_code">
432
- <tr>
433
- <td>
434
- <pre class="lines">
435
-
436
-
437
- 59
438
- 60
439
- 61
440
- 62
441
- 63
442
- 64
443
- 65
444
- 66</pre>
445
- </td>
446
- <td>
447
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 59</span>
448
-
449
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_app'>app</span><span class='comma'>,</span> <span class='label'>root:</span> <span class='const'><span class='object_link'><a href="../Utopia.html" title="Utopia (module)">Utopia</a></span></span><span class='op'>::</span><span class='id identifier rubyid_default_root'><span class='object_link'><a href="../Utopia.html#default_root-class_method" title="Utopia.default_root (method)">default_root</a></span></span><span class='comma'>,</span> <span class='label'>base:</span> <span class='const'><span class='object_link'><a href="" title="Utopia::Controller (class)">Controller</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Controller/Base.html" title="Utopia::Controller::Base (class)">Base</a></span></span><span class='rparen'>)</span>
450
- <span class='ivar'>@app</span> <span class='op'>=</span> <span class='id identifier rubyid_app'>app</span>
451
- <span class='ivar'>@root</span> <span class='op'>=</span> <span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span>
452
-
453
- <span class='ivar'>@controller_cache</span> <span class='op'>=</span> <span class='const'>Concurrent</span><span class='op'>::</span><span class='const'>Map</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
454
-
455
- <span class='ivar'>@base</span> <span class='op'>=</span> <span class='id identifier rubyid_base'>base</span>
456
- <span class='kw'>end</span></pre>
457
- </td>
458
- </tr>
459
- </table>
460
- </div>
461
-
462
- </div>
463
-
464
- <div id="instance_attr_details" class="attr_details">
465
- <h2>Instance Attribute Details</h2>
466
-
467
-
468
- <span id=""></span>
469
- <div class="method_details first">
470
- <h3 class="signature first" id="app-instance_method">
471
-
472
- #<strong>app</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
473
-
474
-
475
-
476
-
477
-
478
- </h3><div class="docstring">
479
- <div class="discussion">
480
- <p>Returns the value of attribute app</p>
481
-
482
-
483
- </div>
484
- </div>
485
- <div class="tags">
486
-
487
-
488
- </div><table class="source_code">
489
- <tr>
490
- <td>
491
- <pre class="lines">
492
-
493
-
494
- 68
495
- 69
496
- 70</pre>
497
- </td>
498
- <td>
499
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 68</span>
500
-
501
- <span class='kw'>def</span> <span class='id identifier rubyid_app'>app</span>
502
- <span class='ivar'>@app</span>
503
- <span class='kw'>end</span></pre>
504
- </td>
505
- </tr>
506
- </table>
507
- </div>
508
-
509
- </div>
510
-
511
-
512
- <div id="class_method_details" class="method_details_list">
513
- <h2>Class Method Details</h2>
514
-
515
-
516
- <div class="method_details first">
517
- <h3 class="signature first" id="[]-class_method">
518
-
519
- .<strong>[]</strong>(request) &#x21d2; <tt>Object</tt>
520
-
521
-
522
-
523
-
524
-
525
- </h3><table class="source_code">
526
- <tr>
527
- <td>
528
- <pre class="lines">
529
-
530
-
531
- 53
532
- 54
533
- 55</pre>
534
- </td>
535
- <td>
536
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 53</span>
537
-
538
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='op'>[]</span> <span class='id identifier rubyid_request'>request</span>
539
- <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="../Utopia.html#VARIABLES_KEY-constant" title="Utopia::VARIABLES_KEY (constant)">VARIABLES_KEY</a></span></span><span class='rbracket'>]</span>
540
- <span class='kw'>end</span></pre>
541
- </td>
542
- </tr>
543
- </table>
544
- </div>
545
-
546
- </div>
547
-
548
- <div id="instance_method_details" class="method_details_list">
549
- <h2>Instance Method Details</h2>
550
-
551
-
552
- <div class="method_details first">
553
- <h3 class="signature first" id="call-instance_method">
554
-
555
- #<strong>call</strong>(env) &#x21d2; <tt>Object</tt>
556
-
557
-
558
-
559
-
560
-
561
- </h3><table class="source_code">
562
- <tr>
563
- <td>
564
- <pre class="lines">
565
-
566
-
567
- 156
568
- 157
569
- 158
570
- 159
571
- 160
572
- 161
573
- 162
574
- 163
575
- 164
576
- 165
577
- 166</pre>
578
- </td>
579
- <td>
580
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 156</span>
581
-
582
- <span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
583
- <span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="../Utopia.html#VARIABLES_KEY-constant" title="Utopia::VARIABLES_KEY (constant)">VARIABLES_KEY</a></span></span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="Controller/Variables.html" title="Utopia::Controller::Variables (class)">Variables</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Controller/Variables.html#initialize-instance_method" title="Utopia::Controller::Variables#initialize (method)">new</a></span></span>
584
-
585
- <span class='id identifier rubyid_request'>request</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Request</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
586
-
587
- <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_invoke_controllers'>invoke_controllers</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='rparen'>)</span>
588
- <span class='kw'>return</span> <span class='id identifier rubyid_result'>result</span>
589
- <span class='kw'>end</span>
590
-
591
- <span class='kw'>return</span> <span class='ivar'>@app</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
592
- <span class='kw'>end</span></pre>
593
- </td>
594
- </tr>
595
- </table>
596
- </div>
597
-
598
- <div class="method_details ">
599
- <h3 class="signature " id="freeze-instance_method">
600
-
601
- #<strong>freeze</strong> &#x21d2; <tt>Object</tt>
602
-
603
-
604
-
605
-
606
-
607
- </h3><table class="source_code">
608
- <tr>
609
- <td>
610
- <pre class="lines">
611
-
612
-
613
- 70
614
- 71
615
- 72
616
- 73
617
- 74
618
- 75
619
- 76
620
- 77</pre>
621
- </td>
622
- <td>
623
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 70</span>
624
-
625
- <span class='kw'>def</span> <span class='id identifier rubyid_freeze'>freeze</span>
626
- <span class='kw'>return</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id identifier rubyid_frozen?'>frozen?</span>
627
-
628
- <span class='ivar'>@root</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
629
- <span class='ivar'>@base</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
630
-
631
- <span class='kw'>super</span>
632
- <span class='kw'>end</span></pre>
633
- </td>
634
- </tr>
635
- </table>
636
- </div>
637
-
638
- <div class="method_details ">
639
- <h3 class="signature " id="invoke_controllers-instance_method">
640
-
641
- #<strong>invoke_controllers</strong>(request) &#x21d2; <tt>Object</tt>
642
-
643
-
644
-
645
-
646
-
647
- </h3><div class="docstring">
648
- <div class="discussion">
649
- <p>Invoke the controller layer for a given request. The request path may be rewritten.</p>
650
-
651
-
652
- </div>
653
- </div>
654
- <div class="tags">
655
-
656
- <p class="tag_title">Raises:</p>
657
- <ul class="raise">
658
-
659
- <li>
660
-
661
-
662
- <span class='type'>(<tt>ArgumentError</tt>)</span>
663
-
664
-
665
-
666
- </li>
667
-
668
- </ul>
669
-
670
- </div><table class="source_code">
671
- <tr>
672
- <td>
673
- <pre class="lines">
674
-
675
-
676
- 120
677
- 121
678
- 122
679
- 123
680
- 124
681
- 125
682
- 126
683
- 127
684
- 128
685
- 129
686
- 130
687
- 131
688
- 132
689
- 133
690
- 134
691
- 135
692
- 136
693
- 137
694
- 138
695
- 139
696
- 140
697
- 141
698
- 142
699
- 143
700
- 144
701
- 145
702
- 146
703
- 147
704
- 148
705
- 149
706
- 150
707
- 151
708
- 152
709
- 153
710
- 154</pre>
711
- </td>
712
- <td>
713
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 120</span>
714
-
715
- <span class='kw'>def</span> <span class='id identifier rubyid_invoke_controllers'>invoke_controllers</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='rparen'>)</span>
716
- <span class='id identifier rubyid_request_path'>request_path</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Path.html" title="Utopia::Path (class)">Path</a></span></span><span class='period'>.</span><span class='id identifier rubyid_from_string'><span class='object_link'><a href="Path.html#from_string-class_method" title="Utopia::Path.from_string (method)">from_string</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_path_info'>path_info</span><span class='rparen'>)</span>
717
-
718
- <span class='comment'># The request path must be absolute. We could handle this internally but it is probably better for this to be an error:
719
- </span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid request path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_request_path'>request_path</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_request_path'>request_path</span><span class='period'>.</span><span class='id identifier rubyid_absolute?'>absolute?</span>
720
-
721
- <span class='comment'># The controller path contains the current complete path being evaluated:
722
- </span> <span class='id identifier rubyid_controller_path'>controller_path</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Path.html" title="Utopia::Path (class)">Path</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Path.html#initialize-instance_method" title="Utopia::Path#initialize (method)">new</a></span></span>
723
-
724
- <span class='comment'># Controller instance variables which eventually get processed by the view:
725
- </span> <span class='id identifier rubyid_variables'>variables</span> <span class='op'>=</span> <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="../Utopia.html#VARIABLES_KEY-constant" title="Utopia::VARIABLES_KEY (constant)">VARIABLES_KEY</a></span></span><span class='rbracket'>]</span>
726
-
727
- <span class='kw'>while</span> <span class='id identifier rubyid_request_path'>request_path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
728
- <span class='comment'># We copy one path component from the relative path to the controller path at a time. The controller, when invoked, can modify the relative path (by assigning to relative_path.components). This allows for controller-relative rewrites, but only the remaining path postfix can be modified.
729
- </span> <span class='id identifier rubyid_controller_path'>controller_path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_request_path'>request_path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
730
-
731
- <span class='kw'>if</span> <span class='id identifier rubyid_controller'>controller</span> <span class='op'>=</span> <span class='id identifier rubyid_lookup_controller'>lookup_controller</span><span class='lparen'>(</span><span class='id identifier rubyid_controller_path'>controller_path</span><span class='rparen'>)</span>
732
- <span class='comment'># Don&#39;t modify the original controller:
733
- </span> <span class='id identifier rubyid_controller'>controller</span> <span class='op'>=</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_clone'>clone</span>
734
-
735
- <span class='comment'># Append the controller to the set of controller variables, updates the controller with all current instance variables.
736
- </span> <span class='id identifier rubyid_variables'>variables</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_controller'>controller</span>
737
-
738
- <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_process!'>process!</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_request_path'>request_path</span><span class='rparen'>)</span>
739
- <span class='kw'>return</span> <span class='id identifier rubyid_result'>result</span>
740
- <span class='kw'>end</span>
741
- <span class='kw'>end</span>
742
- <span class='kw'>end</span>
743
-
744
- <span class='comment'># Controllers can directly modify relative_path, which is copied into controller_path. The controllers may have rewriten the path so we update the path info:
745
- </span> <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='const'>Rack</span><span class='op'>::</span><span class='const'>PATH_INFO</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_controller_path'>controller_path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
746
-
747
- <span class='comment'># No controller gave a useful result:
748
- </span> <span class='kw'>return</span> <span class='kw'>nil</span>
749
- <span class='kw'>end</span></pre>
750
- </td>
751
- </tr>
752
- </table>
753
- </div>
754
-
755
- <div class="method_details ">
756
- <h3 class="signature " id="load_controller_file-instance_method">
757
-
758
- #<strong>load_controller_file</strong>(uri_path) &#x21d2; <tt>Object</tt>
759
-
760
-
761
-
762
-
763
-
764
- </h3><div class="docstring">
765
- <div class="discussion">
766
- <p>Loads the controller file for the given relative url_path.</p>
767
-
768
-
769
- </div>
770
- </div>
771
- <div class="tags">
772
-
773
-
774
- </div><table class="source_code">
775
- <tr>
776
- <td>
777
- <pre class="lines">
778
-
779
-
780
- 87
781
- 88
782
- 89
783
- 90
784
- 91
785
- 92
786
- 93
787
- 94
788
- 95
789
- 96
790
- 97
791
- 98
792
- 99
793
- 100
794
- 101
795
- 102
796
- 103
797
- 104
798
- 105
799
- 106
800
- 107
801
- 108
802
- 109
803
- 110
804
- 111
805
- 112
806
- 113
807
- 114
808
- 115
809
- 116
810
- 117</pre>
811
- </td>
812
- <td>
813
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 87</span>
814
-
815
- <span class='kw'>def</span> <span class='id identifier rubyid_load_controller_file'>load_controller_file</span><span class='lparen'>(</span><span class='id identifier rubyid_uri_path'>uri_path</span><span class='rparen'>)</span>
816
- <span class='id identifier rubyid_base_path'>base_path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='ivar'>@root</span><span class='comma'>,</span> <span class='id identifier rubyid_uri_path'>uri_path</span><span class='period'>.</span><span class='id identifier rubyid_components'>components</span><span class='rparen'>)</span>
817
-
818
- <span class='id identifier rubyid_controller_path'>controller_path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_base_path'>base_path</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="#CONTROLLER_RB-constant" title="Utopia::Controller::CONTROLLER_RB (constant)">CONTROLLER_RB</a></span></span><span class='rparen'>)</span>
819
- <span class='comment'># puts &quot;load_controller_file(#{path.inspect}) =&gt; #{controller_path}&quot;
820
- </span>
821
- <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span><span class='id identifier rubyid_controller_path'>controller_path</span><span class='rparen'>)</span>
822
- <span class='id identifier rubyid_klass'>klass</span> <span class='op'>=</span> <span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@base</span><span class='rparen'>)</span>
823
-
824
- <span class='comment'># base_path is expected to be a string representing a filesystem path:
825
- </span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_const_set'>const_set</span><span class='lparen'>(</span><span class='symbol'>:BASE_PATH</span><span class='comma'>,</span> <span class='id identifier rubyid_base_path'>base_path</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='rparen'>)</span>
826
-
827
- <span class='comment'># uri_path is expected to be an instance of Path:
828
- </span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_const_set'>const_set</span><span class='lparen'>(</span><span class='symbol'>:URI_PATH</span><span class='comma'>,</span> <span class='id identifier rubyid_uri_path'>uri_path</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='rparen'>)</span>
829
-
830
- <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_const_set'>const_set</span><span class='lparen'>(</span><span class='symbol'>:CONTROLLER</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
831
-
832
- <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_class_eval'>class_eval</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_controller_path'>controller_path</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_controller_path'>controller_path</span><span class='rparen'>)</span>
833
-
834
- <span class='comment'># Give the controller a useful name:
835
- </span> <span class='comment'># Controllers.define(klass)
836
- </span>
837
- <span class='comment'># We lock down the controller class to prevent unsafe modifications:
838
- </span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
839
-
840
- <span class='comment'># Create an instance of the controller:
841
- </span> <span class='kw'>return</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
842
- <span class='kw'>else</span>
843
- <span class='kw'>return</span> <span class='kw'>nil</span>
844
- <span class='kw'>end</span>
845
- <span class='kw'>end</span></pre>
846
- </td>
847
- </tr>
848
- </table>
849
- </div>
850
-
851
- <div class="method_details ">
852
- <h3 class="signature " id="lookup_controller-instance_method">
853
-
854
- #<strong>lookup_controller</strong>(path) &#x21d2; <tt>Object</tt>
855
-
856
-
857
-
858
-
859
-
860
- </h3><div class="docstring">
861
- <div class="discussion">
862
- <p>Fetch the controller for the given relative path. May be cached.</p>
863
-
864
-
865
- </div>
866
- </div>
867
- <div class="tags">
868
-
869
-
870
- </div><table class="source_code">
871
- <tr>
872
- <td>
873
- <pre class="lines">
874
-
875
-
876
- 80
877
- 81
878
- 82
879
- 83
880
- 84</pre>
881
- </td>
882
- <td>
883
- <pre class="code"><span class="info file"># File 'lib/utopia/controller.rb', line 80</span>
884
-
885
- <span class='kw'>def</span> <span class='id identifier rubyid_lookup_controller'>lookup_controller</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
886
- <span class='ivar'>@controller_cache</span><span class='period'>.</span><span class='id identifier rubyid_fetch_or_store'>fetch_or_store</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>do</span>
887
- <span class='id identifier rubyid_load_controller_file'>load_controller_file</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
888
- <span class='kw'>end</span>
889
- <span class='kw'>end</span></pre>
890
- </td>
891
- </tr>
892
- </table>
893
- </div>
894
-
895
- </div>
896
-
897
- </div>
898
-
899
- <div id="footer">
900
- Generated on Sat Mar 9 12:01:53 2019 by
901
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
902
- 0.9.18 (ruby-2.6.1).
903
- </div>
904
-
905
- </div>
906
- </body>
907
- </html>