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