utopia 2.13.3 → 2.16.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 +4 -4
- data/bake/utopia/{yarn.rb → node.rb} +13 -5
- data/lib/utopia/command.rb +2 -2
- data/lib/utopia/command/site.rb +1 -1
- data/lib/utopia/content.rb +23 -19
- data/lib/utopia/content/link.rb +29 -34
- data/lib/utopia/content/links.rb +185 -123
- data/lib/utopia/content/markup.rb +1 -1
- data/lib/utopia/content/node.rb +15 -19
- data/lib/utopia/content/response.rb +5 -5
- data/lib/utopia/controller.rb +0 -17
- data/lib/utopia/controller/base.rb +23 -3
- data/lib/utopia/controller/respond.rb +50 -107
- data/lib/utopia/extensions/array_split.rb +2 -2
- data/lib/utopia/http.rb +3 -3
- data/lib/utopia/localization.rb +18 -10
- data/lib/utopia/middleware.rb +2 -2
- data/lib/utopia/path.rb +40 -36
- data/lib/utopia/redirection.rb +0 -2
- data/lib/utopia/responder.rb +76 -0
- data/lib/utopia/version.rb +1 -1
- data/setup/site/.gitignore +8 -7
- metadata +75 -607
- data/.codeclimate.yml +0 -5
- data/.gitignore +0 -8
- data/.rspec +0 -4
- data/.travis.yml +0 -28
- data/.yardopts +0 -2
- data/Gemfile +0 -28
- data/README.md +0 -92
- data/Rakefile +0 -33
- data/benchmark/call_vs_check.rb +0 -38
- data/benchmark/const_vs_hash.rb +0 -35
- data/benchmark/hash_vs_openstruct.rb +0 -54
- data/benchmark/string_vs_symbol.rb +0 -14
- data/benchmark/struct_vs_class.rb +0 -91
- data/docs/.nojekyll +0 -0
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +0 -6
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +0 -5
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +0 -8
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +0 -6
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +0 -10
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +0 -3
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.css.css +0 -14
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +0 -16
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.html.css +0 -5
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +0 -3
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +0 -2
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.python.css +0 -6
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +0 -2
- data/docs/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +0 -18
- data/docs/_components/jquery-syntax/base/jquery.syntax.core.css +0 -62
- data/docs/_components/jquery-syntax/base/jquery.syntax.editor.css +0 -6
- data/docs/_components/jquery-syntax/base/theme.js +0 -1
- data/docs/_components/jquery-syntax/bright/jquery.syntax.core.css +0 -27
- data/docs/_components/jquery-syntax/bright/theme.js +0 -1
- data/docs/_components/jquery-syntax/jquery.syntax.brush.apache.js +0 -41
- data/docs/_components/jquery-syntax/jquery.syntax.brush.applescript.js +0 -57
- data/docs/_components/jquery-syntax/jquery.syntax.brush.assembly.js +0 -37
- data/docs/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +0 -67
- data/docs/_components/jquery-syntax/jquery.syntax.brush.bash.js +0 -33
- data/docs/_components/jquery-syntax/jquery.syntax.brush.basic.js +0 -51
- data/docs/_components/jquery-syntax/jquery.syntax.brush.clang.js +0 -89
- data/docs/_components/jquery-syntax/jquery.syntax.brush.csharp.js +0 -47
- data/docs/_components/jquery-syntax/jquery.syntax.brush.css.js +0 -80
- data/docs/_components/jquery-syntax/jquery.syntax.brush.diff.js +0 -24
- data/docs/_components/jquery-syntax/jquery.syntax.brush.go.js +0 -47
- data/docs/_components/jquery-syntax/jquery.syntax.brush.haskell.js +0 -45
- data/docs/_components/jquery-syntax/jquery.syntax.brush.html.js +0 -66
- data/docs/_components/jquery-syntax/jquery.syntax.brush.io.js +0 -45
- data/docs/_components/jquery-syntax/jquery.syntax.brush.java.js +0 -45
- data/docs/_components/jquery-syntax/jquery.syntax.brush.javascript.js +0 -40
- data/docs/_components/jquery-syntax/jquery.syntax.brush.kai.js +0 -29
- data/docs/_components/jquery-syntax/jquery.syntax.brush.lisp.js +0 -34
- data/docs/_components/jquery-syntax/jquery.syntax.brush.lua.js +0 -44
- data/docs/_components/jquery-syntax/jquery.syntax.brush.nginx.js +0 -31
- data/docs/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +0 -73
- data/docs/_components/jquery-syntax/jquery.syntax.brush.ooc.js +0 -46
- data/docs/_components/jquery-syntax/jquery.syntax.brush.pascal.js +0 -51
- data/docs/_components/jquery-syntax/jquery.syntax.brush.perl5.js +0 -52
- data/docs/_components/jquery-syntax/jquery.syntax.brush.php-script.js +0 -48
- data/docs/_components/jquery-syntax/jquery.syntax.brush.php.js +0 -15
- data/docs/_components/jquery-syntax/jquery.syntax.brush.plain.js +0 -10
- data/docs/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +0 -43
- data/docs/_components/jquery-syntax/jquery.syntax.brush.python.js +0 -44
- data/docs/_components/jquery-syntax/jquery.syntax.brush.ruby.js +0 -77
- data/docs/_components/jquery-syntax/jquery.syntax.brush.scala.js +0 -44
- data/docs/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +0 -29
- data/docs/_components/jquery-syntax/jquery.syntax.brush.sql.js +0 -31
- data/docs/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +0 -57
- data/docs/_components/jquery-syntax/jquery.syntax.brush.swift.js +0 -55
- data/docs/_components/jquery-syntax/jquery.syntax.brush.trenni.js +0 -35
- data/docs/_components/jquery-syntax/jquery.syntax.brush.xml.js +0 -50
- data/docs/_components/jquery-syntax/jquery.syntax.brush.yaml.js +0 -29
- data/docs/_components/jquery-syntax/jquery.syntax.cache.js +0 -65
- data/docs/_components/jquery-syntax/jquery.syntax.core.js +0 -1098
- data/docs/_components/jquery-syntax/jquery.syntax.editor.js +0 -291
- data/docs/_components/jquery-syntax/jquery.syntax.js +0 -258
- data/docs/_components/jquery-syntax/jquery.syntax.min.js +0 -13
- data/docs/_components/jquery-syntax/paper/jquery.syntax.core.css +0 -31
- data/docs/_components/jquery-syntax/paper/theme.js +0 -1
- data/docs/_components/jquery/core.js +0 -482
- data/docs/_components/jquery/jquery.js +0 -10220
- data/docs/_components/jquery/jquery.min.js +0 -4
- data/docs/_components/jquery/jquery.min.map +0 -1
- data/docs/_components/jquery/jquery.slim.js +0 -8107
- data/docs/_components/jquery/jquery.slim.min.js +0 -4
- data/docs/_components/jquery/jquery.slim.min.map +0 -1
- data/docs/_static/icon.png +0 -0
- data/docs/_static/site.css +0 -205
- data/docs/_static/utopia-background.svg +0 -1
- data/docs/_static/utopia.svg +0 -1
- data/docs/code/Utopia.html +0 -517
- data/docs/code/Utopia/Basename.html +0 -654
- data/docs/code/Utopia/Bootstrap.html +0 -538
- data/docs/code/Utopia/Command.html +0 -213
- data/docs/code/Utopia/Command/Environment.html +0 -321
- data/docs/code/Utopia/Command/Server.html +0 -214
- data/docs/code/Utopia/Command/Server/Create.html +0 -222
- data/docs/code/Utopia/Command/Server/Environment.html +0 -236
- data/docs/code/Utopia/Command/Server/Update.html +0 -317
- data/docs/code/Utopia/Command/Setup.html +0 -145
- data/docs/code/Utopia/Command/Setup/Server.html +0 -298
- data/docs/code/Utopia/Command/Setup/Site.html +0 -180
- data/docs/code/Utopia/Command/Site.html +0 -285
- data/docs/code/Utopia/Command/Site/Create.html +0 -324
- data/docs/code/Utopia/Command/Site/Update.html +0 -407
- data/docs/code/Utopia/Command/Top.html +0 -279
- data/docs/code/Utopia/Content.html +0 -832
- data/docs/code/Utopia/Content/Document.html +0 -1822
- data/docs/code/Utopia/Content/Document/State.html +0 -1220
- data/docs/code/Utopia/Content/Link.html +0 -1286
- data/docs/code/Utopia/Content/Links.html +0 -847
- data/docs/code/Utopia/Content/MarkupParser.html +0 -881
- data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +0 -422
- data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +0 -615
- data/docs/code/Utopia/Content/Namespace.html +0 -485
- data/docs/code/Utopia/Content/Node.html +0 -1188
- data/docs/code/Utopia/Content/Node/Context.html +0 -938
- data/docs/code/Utopia/Content/Response.html +0 -813
- data/docs/code/Utopia/Content/SymbolicHash.html +0 -419
- data/docs/code/Utopia/Content/Tag.html +0 -399
- data/docs/code/Utopia/Content/Tags.html +0 -136
- data/docs/code/Utopia/Content/Tags/ContentTag.html +0 -187
- data/docs/code/Utopia/Content/Tags/DeferredTag.html +0 -193
- data/docs/code/Utopia/Content/Tags/Library.html +0 -333
- data/docs/code/Utopia/Content/Tags/NodeTag.html +0 -193
- data/docs/code/Utopia/Content/UnbalancedTagError.html +0 -298
- data/docs/code/Utopia/ContentLength.html +0 -343
- data/docs/code/Utopia/Controller.html +0 -907
- data/docs/code/Utopia/Controller/Actions.html +0 -289
- data/docs/code/Utopia/Controller/Actions/Action.html +0 -984
- data/docs/code/Utopia/Controller/Actions/ClassMethods.html +0 -442
- data/docs/code/Utopia/Controller/Base.html +0 -1216
- data/docs/code/Utopia/Controller/Respond.html +0 -293
- data/docs/code/Utopia/Controller/Respond/ClassMethods.html +0 -236
- data/docs/code/Utopia/Controller/Respond/Converter.html +0 -256
- data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +0 -484
- data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +0 -381
- data/docs/code/Utopia/Controller/Respond/Passthrough.html +0 -297
- data/docs/code/Utopia/Controller/Respond/Responder.html +0 -535
- data/docs/code/Utopia/Controller/Rewrite.html +0 -290
- data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +0 -242
- data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +0 -364
- data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +0 -464
- data/docs/code/Utopia/Controller/Rewrite/Rule.html +0 -209
- data/docs/code/Utopia/Controller/Variables.html +0 -550
- data/docs/code/Utopia/Controllers.html +0 -244
- data/docs/code/Utopia/Exceptions.html +0 -127
- data/docs/code/Utopia/Exceptions/Handler.html +0 -526
- data/docs/code/Utopia/Exceptions/Mailer.html +0 -482
- data/docs/code/Utopia/Extensions.html +0 -117
- data/docs/code/Utopia/Extensions/ArraySplit.html +0 -183
- data/docs/code/Utopia/Extensions/DateTimeComparison.html +0 -193
- data/docs/code/Utopia/Extensions/TimeDateComparison.html +0 -193
- data/docs/code/Utopia/HTTP.html +0 -250
- data/docs/code/Utopia/HTTP/Status.html +0 -415
- data/docs/code/Utopia/Locale.html +0 -606
- data/docs/code/Utopia/Localization.html +0 -1241
- data/docs/code/Utopia/Localization/Wrapper.html +0 -459
- data/docs/code/Utopia/Logger.html +0 -205
- data/docs/code/Utopia/Logger/CompactFormatter.html +0 -335
- data/docs/code/Utopia/Path.html +0 -3310
- data/docs/code/Utopia/Path/Matcher.html +0 -518
- data/docs/code/Utopia/Path/Matcher/MatchData.html +0 -475
- data/docs/code/Utopia/Redirection.html +0 -151
- data/docs/code/Utopia/Redirection/ClientRedirect.html +0 -717
- data/docs/code/Utopia/Redirection/DirectoryIndex.html +0 -298
- data/docs/code/Utopia/Redirection/Errors.html +0 -476
- data/docs/code/Utopia/Redirection/Moved.html +0 -312
- data/docs/code/Utopia/Redirection/RequestFailure.html +0 -226
- data/docs/code/Utopia/Redirection/Rewrite.html +0 -296
- data/docs/code/Utopia/Session.html +0 -889
- data/docs/code/Utopia/Session/LazyHash.html +0 -859
- data/docs/code/Utopia/Setup.html +0 -970
- data/docs/code/Utopia/Static.html +0 -696
- data/docs/code/Utopia/Static/LocalFile.html +0 -1104
- data/docs/code/Utopia/Static/MimeTypeLoader.html +0 -541
- data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +0 -124
- data/docs/code/Utopia/Tags.html +0 -115
- data/docs/code/Utopia/Tags/Environment.html +0 -314
- data/docs/code/Utopia/Tags/EnvironmentTag.html +0 -314
- data/docs/code/Utopia/Tags/Library.html +0 -340
- data/docs/code/_index.html +0 -758
- data/docs/code/class_list.html +0 -51
- data/docs/code/css/common.css +0 -1
- data/docs/code/css/full_list.css +0 -58
- data/docs/code/css/style.css +0 -496
- data/docs/code/file.README.html +0 -171
- data/docs/code/file_list.html +0 -56
- data/docs/code/frames.html +0 -17
- data/docs/code/index.html +0 -171
- data/docs/code/js/app.js +0 -292
- data/docs/code/js/full_list.js +0 -216
- data/docs/code/js/jquery.js +0 -4
- data/docs/code/materials/utopia.png +0 -0
- data/docs/code/materials/utopia.svg +0 -1
- data/docs/code/method_list.html +0 -3443
- data/docs/code/top-level-namespace.html +0 -110
- data/docs/index.html +0 -92
- data/docs/wiki.html +0 -92
- data/docs/wiki/development-environment-setup.html +0 -60
- data/docs/wiki/development-environment-setup/index.html +0 -60
- data/docs/wiki/edit.html +0 -103
- data/docs/wiki/faq/what-is-xnode.html +0 -79
- data/docs/wiki/faq/what-is-xnode/index.html +0 -79
- data/docs/wiki/javascript.html +0 -153
- data/docs/wiki/javascript/index.html +0 -153
- data/docs/wiki/middleware/content.html +0 -64
- data/docs/wiki/middleware/content/index.html +0 -64
- data/docs/wiki/middleware/controller.html +0 -104
- data/docs/wiki/middleware/controller/actions.html +0 -117
- data/docs/wiki/middleware/controller/actions/index.html +0 -117
- data/docs/wiki/middleware/controller/actions/rewrite/index.html +0 -48
- data/docs/wiki/middleware/controller/index.html +0 -104
- data/docs/wiki/middleware/controller/rewrite.html +0 -111
- data/docs/wiki/middleware/controller/rewrite/index.html +0 -111
- data/docs/wiki/middleware/localization.html +0 -59
- data/docs/wiki/middleware/localization/index.html +0 -59
- data/docs/wiki/middleware/redirection.html +0 -61
- data/docs/wiki/middleware/redirection/index.html +0 -61
- data/docs/wiki/middleware/session.html +0 -71
- data/docs/wiki/middleware/session/index.html +0 -71
- data/docs/wiki/middleware/static.html +0 -57
- data/docs/wiki/middleware/static/index.html +0 -57
- data/docs/wiki/server-setup.html +0 -118
- data/docs/wiki/server-setup/index.html +0 -118
- data/docs/wiki/testing.html +0 -59
- data/docs/wiki/testing/index.html +0 -59
- data/docs/wiki/updating-utopia.html +0 -108
- data/docs/wiki/updating-utopia/index.html +0 -108
- data/docs/wiki/your-first-page.html +0 -80
- data/docs/wiki/your-first-page/index.html +0 -80
- data/documentation/.rspec +0 -4
- data/documentation/.yarnrc +0 -1
- data/documentation/Gemfile +0 -19
- data/documentation/Guardfile +0 -9
- data/documentation/Rakefile +0 -9
- data/documentation/config.ru +0 -41
- data/documentation/config/README.md +0 -7
- data/documentation/config/environment.rb +0 -12
- data/documentation/lib/readme.txt +0 -1
- data/documentation/pages/_editor.xnode +0 -64
- data/documentation/pages/_heading.xnode +0 -2
- data/documentation/pages/_page.xnode +0 -40
- data/documentation/pages/errors/exception.xnode +0 -5
- data/documentation/pages/errors/file-not-found.xnode +0 -5
- data/documentation/pages/links.yaml +0 -2
- data/documentation/pages/wiki/_listing.xnode +0 -32
- data/documentation/pages/wiki/_navigation.xnode +0 -15
- data/documentation/pages/wiki/content.md +0 -35
- data/documentation/pages/wiki/controller.rb +0 -48
- data/documentation/pages/wiki/development-environment-setup/content.md +0 -16
- data/documentation/pages/wiki/edit.xnode +0 -10
- data/documentation/pages/wiki/faq/what-is-xnode/content.md +0 -37
- data/documentation/pages/wiki/javascript/content.md +0 -75
- data/documentation/pages/wiki/links.yaml +0 -6
- data/documentation/pages/wiki/middleware/content/content.md +0 -21
- data/documentation/pages/wiki/middleware/controller/actions/content.md +0 -76
- data/documentation/pages/wiki/middleware/controller/content.md +0 -62
- data/documentation/pages/wiki/middleware/controller/links.yaml +0 -4
- data/documentation/pages/wiki/middleware/controller/rewrite/content.md +0 -69
- data/documentation/pages/wiki/middleware/localization/content.md +0 -16
- data/documentation/pages/wiki/middleware/redirection/content.md +0 -17
- data/documentation/pages/wiki/middleware/session/content.md +0 -29
- data/documentation/pages/wiki/middleware/static/content.md +0 -13
- data/documentation/pages/wiki/server-setup/content.md +0 -52
- data/documentation/pages/wiki/show.xnode +0 -12
- data/documentation/pages/wiki/testing/content.md +0 -15
- data/documentation/pages/wiki/updating-utopia/content.md +0 -63
- data/documentation/pages/wiki/your-first-page/content.md +0 -38
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +0 -6
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +0 -5
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +0 -8
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +0 -6
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +0 -10
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +0 -3
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.css.css +0 -14
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +0 -16
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.html.css +0 -5
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +0 -3
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +0 -2
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.python.css +0 -6
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +0 -2
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +0 -18
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.core.css +0 -62
- data/documentation/public/_components/jquery-syntax/base/jquery.syntax.editor.css +0 -6
- data/documentation/public/_components/jquery-syntax/base/theme.js +0 -1
- data/documentation/public/_components/jquery-syntax/bright/jquery.syntax.core.css +0 -27
- data/documentation/public/_components/jquery-syntax/bright/theme.js +0 -1
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.apache.js +0 -41
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.applescript.js +0 -57
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.assembly.js +0 -37
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +0 -67
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.bash.js +0 -33
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.basic.js +0 -51
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.clang.js +0 -89
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.csharp.js +0 -47
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.css.js +0 -80
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.diff.js +0 -24
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.go.js +0 -47
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.haskell.js +0 -45
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.html.js +0 -66
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.io.js +0 -45
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.java.js +0 -45
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.javascript.js +0 -40
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.kai.js +0 -29
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lisp.js +0 -34
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.lua.js +0 -44
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.nginx.js +0 -31
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +0 -73
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ooc.js +0 -46
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.pascal.js +0 -51
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.perl5.js +0 -52
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php-script.js +0 -48
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.php.js +0 -15
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.plain.js +0 -10
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +0 -43
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.python.js +0 -44
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.ruby.js +0 -77
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.scala.js +0 -44
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +0 -29
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.sql.js +0 -31
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +0 -57
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.swift.js +0 -55
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.trenni.js +0 -35
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.xml.js +0 -50
- data/documentation/public/_components/jquery-syntax/jquery.syntax.brush.yaml.js +0 -29
- data/documentation/public/_components/jquery-syntax/jquery.syntax.cache.js +0 -65
- data/documentation/public/_components/jquery-syntax/jquery.syntax.core.js +0 -1098
- data/documentation/public/_components/jquery-syntax/jquery.syntax.editor.js +0 -291
- data/documentation/public/_components/jquery-syntax/jquery.syntax.js +0 -258
- data/documentation/public/_components/jquery-syntax/jquery.syntax.min.js +0 -13
- data/documentation/public/_components/jquery-syntax/paper/jquery.syntax.core.css +0 -31
- data/documentation/public/_components/jquery-syntax/paper/theme.js +0 -1
- data/documentation/public/_components/jquery/core.js +0 -482
- data/documentation/public/_components/jquery/jquery.js +0 -10220
- data/documentation/public/_components/jquery/jquery.min.js +0 -4
- data/documentation/public/_components/jquery/jquery.min.map +0 -1
- data/documentation/public/_components/jquery/jquery.slim.js +0 -8107
- data/documentation/public/_components/jquery/jquery.slim.min.js +0 -4
- data/documentation/public/_components/jquery/jquery.slim.min.map +0 -1
- data/documentation/public/_static +0 -1
- data/documentation/public/materials +0 -1
- data/documentation/spec/website_context.rb +0 -12
- data/documentation/spec/website_spec.rb +0 -16
- data/documentation/tasks +0 -1
- data/materials/utopia.png +0 -0
- data/materials/utopia.svg +0 -1
- data/setup/site/.yarnrc +0 -1
- data/spec/mock_node.rb +0 -16
- data/spec/spec_helper.rb +0 -13
- data/spec/utopia/command_spec.rb +0 -164
- data/spec/utopia/content/document_spec.rb +0 -60
- data/spec/utopia/content/link_spec.rb +0 -47
- data/spec/utopia/content/links/foo/index.xnode +0 -0
- data/spec/utopia/content/links/foo/links.yaml +0 -2
- data/spec/utopia/content/links/foo/test.de.xnode +0 -0
- data/spec/utopia/content/links/foo/test.en.xnode +0 -0
- data/spec/utopia/content/links/links.yaml +0 -9
- data/spec/utopia/content/links/welcome.xnode +0 -0
- data/spec/utopia/content/links_spec.rb +0 -101
- data/spec/utopia/content/localized/five/index.en.xnode +0 -0
- data/spec/utopia/content/localized/four/index.en.xnode +0 -0
- data/spec/utopia/content/localized/four/index.zh.xnode +0 -0
- data/spec/utopia/content/localized/four/links.yaml +0 -4
- data/spec/utopia/content/localized/links.yaml +0 -16
- data/spec/utopia/content/localized/one.xnode +0 -0
- data/spec/utopia/content/localized/three/index.xnode +0 -0
- data/spec/utopia/content/localized/two.en.xnode +0 -0
- data/spec/utopia/content/localized/two.zh.xnode +0 -0
- data/spec/utopia/content/markup_spec.rb +0 -96
- data/spec/utopia/content/namespace_spec.rb +0 -45
- data/spec/utopia/content/node/lookup/content.xnode +0 -1
- data/spec/utopia/content/node/lookup/index.xnode +0 -1
- data/spec/utopia/content/node/ordered/first.xnode +0 -0
- data/spec/utopia/content/node/ordered/index.xnode +0 -0
- data/spec/utopia/content/node/ordered/links.yaml +0 -4
- data/spec/utopia/content/node/ordered/second.xnode +0 -0
- data/spec/utopia/content/node/related/foo.en.xnode +0 -0
- data/spec/utopia/content/node/related/foo.ja.xnode +0 -0
- data/spec/utopia/content/node/related/links.yaml +0 -4
- data/spec/utopia/content/node_spec.rb +0 -97
- data/spec/utopia/content/response_spec.rb +0 -54
- data/spec/utopia/content/tags_spec.rb +0 -82
- data/spec/utopia/content_spec.rb +0 -100
- data/spec/utopia/content_spec.ru +0 -6
- data/spec/utopia/content_spec/_heading.xnode +0 -1
- data/spec/utopia/content_spec/content/_show-value.xnode +0 -1
- data/spec/utopia/content_spec/content/links.yaml +0 -2
- data/spec/utopia/content_spec/content/test-partial.xnode +0 -1
- data/spec/utopia/content_spec/index.xnode +0 -1
- data/spec/utopia/content_spec/node/index.xnode +0 -1
- data/spec/utopia/content_spec/test.xnode +0 -10
- data/spec/utopia/controller/actions_spec.rb +0 -62
- data/spec/utopia/controller/middleware_spec.rb +0 -88
- data/spec/utopia/controller/middleware_spec.ru +0 -6
- data/spec/utopia/controller/middleware_spec/controller/controller.rb +0 -27
- data/spec/utopia/controller/middleware_spec/controller/index.xnode +0 -1
- data/spec/utopia/controller/middleware_spec/controller/nested/controller.rb +0 -7
- data/spec/utopia/controller/middleware_spec/empty/controller.rb +0 -0
- data/spec/utopia/controller/middleware_spec/redirect/controller.rb +0 -12
- data/spec/utopia/controller/middleware_spec/redirect/test/controller.rb +0 -9
- data/spec/utopia/controller/respond_spec.rb +0 -174
- data/spec/utopia/controller/respond_spec.ru +0 -12
- data/spec/utopia/controller/respond_spec/api/controller.rb +0 -28
- data/spec/utopia/controller/respond_spec/errors/controller.rb +0 -14
- data/spec/utopia/controller/respond_spec/errors/file-not-found.xnode +0 -8
- data/spec/utopia/controller/respond_spec/html/controller.rb +0 -11
- data/spec/utopia/controller/respond_spec/rewrite/controller.rb +0 -13
- data/spec/utopia/controller/rewrite_spec.rb +0 -80
- data/spec/utopia/controller/sequence_spec.rb +0 -135
- data/spec/utopia/controller/variables_spec.rb +0 -59
- data/spec/utopia/controller/websocket_spec.rb +0 -68
- data/spec/utopia/controller/websocket_spec.ru +0 -5
- data/spec/utopia/controller/websocket_spec/server/controller.rb +0 -11
- data/spec/utopia/exceptions/handler_spec.rb +0 -47
- data/spec/utopia/exceptions/handler_spec.ru +0 -8
- data/spec/utopia/exceptions/handler_spec/controller.rb +0 -19
- data/spec/utopia/exceptions/mailer_spec.rb +0 -43
- data/spec/utopia/exceptions/mailer_spec.ru +0 -10
- data/spec/utopia/extensions_spec.rb +0 -73
- data/spec/utopia/http/status_spec.rb +0 -44
- data/spec/utopia/locale_spec.rb +0 -58
- data/spec/utopia/localization_spec.rb +0 -92
- data/spec/utopia/localization_spec.ru +0 -15
- data/spec/utopia/localization_spec/controller.rb +0 -21
- data/spec/utopia/localization_spec/localized.de.txt +0 -1
- data/spec/utopia/localization_spec/localized.en.txt +0 -1
- data/spec/utopia/localization_spec/localized.ja.txt +0 -1
- data/spec/utopia/localization_spec/test.txt +0 -1
- data/spec/utopia/middleware_spec.rb +0 -31
- data/spec/utopia/path/matcher_spec.rb +0 -66
- data/spec/utopia/path_spec.rb +0 -162
- data/spec/utopia/performance_spec.rb +0 -92
- data/spec/utopia/performance_spec/cache/head/readme.txt +0 -1
- data/spec/utopia/performance_spec/cache/meta/readme.txt +0 -1
- data/spec/utopia/performance_spec/config.ru +0 -35
- data/spec/utopia/performance_spec/lib/readme.txt +0 -1
- data/spec/utopia/performance_spec/pages/_heading.xnode +0 -2
- data/spec/utopia/performance_spec/pages/_page.xnode +0 -26
- data/spec/utopia/performance_spec/pages/api/controller.rb +0 -8
- data/spec/utopia/performance_spec/pages/errors/exception.xnode +0 -5
- data/spec/utopia/performance_spec/pages/errors/file-not-found.xnode +0 -5
- data/spec/utopia/performance_spec/pages/links.yaml +0 -2
- data/spec/utopia/performance_spec/pages/welcome/index.xnode +0 -17
- data/spec/utopia/rack_helper.rb +0 -32
- data/spec/utopia/redirection_spec.rb +0 -77
- data/spec/utopia/redirection_spec.ru +0 -27
- data/spec/utopia/session_spec.rb +0 -189
- data/spec/utopia/session_spec.ru +0 -24
- data/spec/utopia/setup_spec.rb +0 -56
- data/spec/utopia/static_spec.rb +0 -49
- data/spec/utopia/static_spec.ru +0 -5
- data/spec/utopia/static_spec/test.txt +0 -1
- data/utopia.gemspec +0 -52
|
@@ -1 +0,0 @@
|
|
|
1
|
-
localized.en.txt
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
localized.ja.txt
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Hello World!
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
|
4
|
-
#
|
|
5
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
# in the Software without restriction, including without limitation the rights
|
|
8
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
# furnished to do so, subject to the following conditions:
|
|
11
|
-
#
|
|
12
|
-
# The above copyright notice and this permission notice shall be included in
|
|
13
|
-
# all copies or substantial portions of the Software.
|
|
14
|
-
#
|
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
# THE SOFTWARE.
|
|
22
|
-
|
|
23
|
-
require 'utopia/middleware'
|
|
24
|
-
|
|
25
|
-
module Utopia::MiddlewareSpec
|
|
26
|
-
describe Utopia do
|
|
27
|
-
it "should give a default path relative to the cwd" do
|
|
28
|
-
expect(File).to exist(Utopia::default_root('content_spec', File.dirname(__FILE__)))
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env rspec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
# Copyright, 2015, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
|
5
|
-
#
|
|
6
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
# in the Software without restriction, including without limitation the rights
|
|
9
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
# furnished to do so, subject to the following conditions:
|
|
12
|
-
#
|
|
13
|
-
# The above copyright notice and this permission notice shall be included in
|
|
14
|
-
# all copies or substantial portions of the Software.
|
|
15
|
-
#
|
|
16
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
# THE SOFTWARE.
|
|
23
|
-
|
|
24
|
-
require 'utopia/path/matcher'
|
|
25
|
-
|
|
26
|
-
module Utopia::Path::MatcherSpec
|
|
27
|
-
describe Utopia::Path::Matcher do
|
|
28
|
-
it "should match strings" do
|
|
29
|
-
path = Utopia::Path['users/20/edit']
|
|
30
|
-
matcher = Utopia::Path::Matcher[users: 'users']
|
|
31
|
-
|
|
32
|
-
match_data = matcher.match(path)
|
|
33
|
-
expect(match_data).to_not be nil
|
|
34
|
-
|
|
35
|
-
expect(match_data.post_match).to be == Utopia::Path['20/edit']
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "shouldn't match strings" do
|
|
39
|
-
path = Utopia::Path['users/20/edit']
|
|
40
|
-
matcher = Utopia::Path::Matcher[accounts: 'accounts']
|
|
41
|
-
|
|
42
|
-
match_data = matcher.match(path)
|
|
43
|
-
expect(match_data).to be nil
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "shouldn't match integer" do
|
|
47
|
-
path = Utopia::Path['users/20/edit']
|
|
48
|
-
matcher = Utopia::Path::Matcher[id: Integer]
|
|
49
|
-
|
|
50
|
-
match_data = matcher.match(path)
|
|
51
|
-
expect(match_data).to be nil
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it "should match regexps" do
|
|
55
|
-
path = Utopia::Path['users/20/edit']
|
|
56
|
-
matcher = Utopia::Path::Matcher[users: /users/, id: Integer, action: String]
|
|
57
|
-
|
|
58
|
-
match_data = matcher.match(path)
|
|
59
|
-
expect(match_data).to_not be_falsey
|
|
60
|
-
|
|
61
|
-
expect(match_data[:users].to_s).to be == 'users'
|
|
62
|
-
expect(match_data[:id]).to be == 20
|
|
63
|
-
expect(match_data[:action]).to be == 'edit'
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
data/spec/utopia/path_spec.rb
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env rspec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
# Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
|
5
|
-
#
|
|
6
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
# in the Software without restriction, including without limitation the rights
|
|
9
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
# furnished to do so, subject to the following conditions:
|
|
12
|
-
#
|
|
13
|
-
# The above copyright notice and this permission notice shall be included in
|
|
14
|
-
# all copies or substantial portions of the Software.
|
|
15
|
-
#
|
|
16
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
# THE SOFTWARE.
|
|
23
|
-
|
|
24
|
-
require 'utopia/path'
|
|
25
|
-
|
|
26
|
-
RSpec.describe Utopia::Path do
|
|
27
|
-
context "coder" do
|
|
28
|
-
subject {"foo/bar/baz"}
|
|
29
|
-
let(:instance) {described_class.load(subject)}
|
|
30
|
-
|
|
31
|
-
it "loads a string" do
|
|
32
|
-
expect(instance).to be_a described_class
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
it "dump generates the original string" do
|
|
36
|
-
expect(described_class.dump(instance)).to be == subject
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "should be root path" do
|
|
41
|
-
root = Utopia::Path["/"]
|
|
42
|
-
|
|
43
|
-
expect(root.components).to be == ['', '']
|
|
44
|
-
expect(root.to_local_path).to be == '/'
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it "should concatenate absolute paths" do
|
|
48
|
-
root = Utopia::Path["/"]
|
|
49
|
-
|
|
50
|
-
expect(root).to be_absolute
|
|
51
|
-
expect(root + Utopia::Path["foo/bar"]).to be == Utopia::Path["/foo/bar"]
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it "should compute all descendant paths" do
|
|
55
|
-
root = Utopia::Path["/foo/bar"]
|
|
56
|
-
|
|
57
|
-
descendants = root.descend.to_a
|
|
58
|
-
|
|
59
|
-
expect(descendants[0].components).to be == [""]
|
|
60
|
-
expect(descendants[1].components).to be == ["", "foo"]
|
|
61
|
-
expect(descendants[2].components).to be == ["", "foo", "bar"]
|
|
62
|
-
|
|
63
|
-
ascendants = root.ascend.to_a
|
|
64
|
-
|
|
65
|
-
expect(descendants.reverse).to be == ascendants
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it "should be able to remove relative path entries" do
|
|
69
|
-
path = Utopia::Path["/foo/bar/../baz/."]
|
|
70
|
-
expect(path.simplify.components).to be == ['', 'foo', 'baz']
|
|
71
|
-
|
|
72
|
-
path = Utopia::Path["/foo/bar/../baz/./"]
|
|
73
|
-
expect(path.simplify.components).to be == ['', 'foo', 'baz', '']
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
it "should remove the extension from the basename" do
|
|
77
|
-
path = Utopia::Path["dir/foo.html"]
|
|
78
|
-
|
|
79
|
-
expect(path.basename).to be == 'foo'
|
|
80
|
-
expect(path.extension).to be == 'html'
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
it "should be able to convert into a directory" do
|
|
84
|
-
path = Utopia::Path["foo/bar"]
|
|
85
|
-
|
|
86
|
-
expect(path).to_not be_directory
|
|
87
|
-
|
|
88
|
-
expect(path.to_directory).to be_directory
|
|
89
|
-
|
|
90
|
-
dir_path = path.to_directory
|
|
91
|
-
expect(dir_path.to_directory).to be == dir_path
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
it "should start with the given path" do
|
|
95
|
-
path = Utopia::Path["/a/b/c/d/e"]
|
|
96
|
-
|
|
97
|
-
expect(path.start_with?(path.dirname)).to be true
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
it "should split at the specified point" do
|
|
101
|
-
path = Utopia::Path["/a/b/c/d/e"]
|
|
102
|
-
|
|
103
|
-
expect(path.split('c')).to be == [Utopia::Path['/a/b'], Utopia::Path['d/e']]
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "shouldn't be able to modify frozen paths" do
|
|
107
|
-
path = Utopia::Path["dir/foo.html"]
|
|
108
|
-
|
|
109
|
-
path.freeze
|
|
110
|
-
|
|
111
|
-
expect(path.frozen?).to be true
|
|
112
|
-
|
|
113
|
-
expect{path[0] = 'bob'}.to raise_exception(RuntimeError)
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
it "should give the correct locale" do
|
|
117
|
-
path = Utopia::Path["foo.en"]
|
|
118
|
-
|
|
119
|
-
expect(path.extension).to be == 'en'
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
it "should give no locale" do
|
|
123
|
-
path = Utopia::Path["foo"]
|
|
124
|
-
|
|
125
|
-
expect(path.extension).to be == nil
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
it "should expand relative paths" do
|
|
129
|
-
root = Utopia::Path['/root']
|
|
130
|
-
path = Utopia::Path["dir/foo.html"]
|
|
131
|
-
|
|
132
|
-
expect(path.expand(root)).to be == (root + path)
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
it "shouldn't expand absolute paths" do
|
|
136
|
-
root = Utopia::Path['/root']
|
|
137
|
-
|
|
138
|
-
expect(root.expand(root)).to be == root
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
it "should give the shortest path for outer paths" do
|
|
142
|
-
input = Utopia::Path.create("/a/b/c/index")
|
|
143
|
-
output = Utopia::Path.create("/a/b/c/d/e/")
|
|
144
|
-
|
|
145
|
-
short = input.shortest_path(output)
|
|
146
|
-
|
|
147
|
-
expect(short.components).to be == ["..", "..", "index"]
|
|
148
|
-
|
|
149
|
-
expect((output + short).simplify).to be == input
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
it "should give the shortest path for inner paths" do
|
|
153
|
-
input = Utopia::Path.create("/a/b/c/index")
|
|
154
|
-
output = Utopia::Path.create("/a/")
|
|
155
|
-
|
|
156
|
-
short = input.shortest_path(output)
|
|
157
|
-
|
|
158
|
-
expect(short.components).to be == ["b", "c", "index"]
|
|
159
|
-
|
|
160
|
-
expect((output + short).simplify).to be == input
|
|
161
|
-
end
|
|
162
|
-
end
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Copyright, 2016, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
|
4
|
-
#
|
|
5
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
# in the Software without restriction, including without limitation the rights
|
|
8
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
# furnished to do so, subject to the following conditions:
|
|
11
|
-
#
|
|
12
|
-
# The above copyright notice and this permission notice shall be included in
|
|
13
|
-
# all copies or substantial portions of the Software.
|
|
14
|
-
#
|
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
# THE SOFTWARE.
|
|
22
|
-
|
|
23
|
-
require_relative 'rack_helper'
|
|
24
|
-
|
|
25
|
-
require 'benchmark/ips' if ENV['BENCHMARK']
|
|
26
|
-
require 'ruby-prof' if ENV['PROFILE']
|
|
27
|
-
require 'flamegraph' if ENV['FLAMEGRAPH']
|
|
28
|
-
|
|
29
|
-
RSpec.describe "Utopia Performance" do
|
|
30
|
-
include_context "rack app", "performance_spec/config.ru"
|
|
31
|
-
|
|
32
|
-
if defined? Benchmark
|
|
33
|
-
def benchmark(name = nil)
|
|
34
|
-
Benchmark.ips do |benchmark|
|
|
35
|
-
benchmark.report(name) do |i|
|
|
36
|
-
yield i
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
benchmark.compare!
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
elsif defined? RubyProf
|
|
43
|
-
def benchmark(name)
|
|
44
|
-
result = RubyProf.profile do
|
|
45
|
-
yield 2000
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
#result.eliminate_methods!([/^((?!Utopia|Trenni).)*$/])
|
|
49
|
-
printer = RubyProf::FlatPrinter.new(result)
|
|
50
|
-
printer.print($stderr, min_percent: 1.0)
|
|
51
|
-
|
|
52
|
-
printer = RubyProf::GraphHtmlPrinter.new(result)
|
|
53
|
-
filename = name.gsub('/', '_') + '.html'
|
|
54
|
-
File.open(filename, "w") do |file|
|
|
55
|
-
printer.print(file)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
elsif defined? Flamegraph
|
|
59
|
-
def benchmark(name)
|
|
60
|
-
filename = name.gsub('/', '_') + '.html'
|
|
61
|
-
Flamegraph.generate(filename) do
|
|
62
|
-
yield 1
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
else
|
|
66
|
-
def benchmark(name)
|
|
67
|
-
yield 1
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it "should be fast to access basic page" do
|
|
72
|
-
env = Rack::MockRequest.env_for("/welcome/index")
|
|
73
|
-
status, headers, response = app.call(env)
|
|
74
|
-
|
|
75
|
-
expect(status).to be == 200
|
|
76
|
-
|
|
77
|
-
benchmark("/welcome/index") do |i|
|
|
78
|
-
i.times { app.call(env) }
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should be fast to invoke a controller" do
|
|
83
|
-
env = Rack::MockRequest.env_for("/api/fetch")
|
|
84
|
-
status, headers, response = app.call(env)
|
|
85
|
-
|
|
86
|
-
expect(status).to be == 200
|
|
87
|
-
|
|
88
|
-
benchmark("/api/fetch") do |i|
|
|
89
|
-
i.times { app.call(env) }
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
This is a place-holder file so that this directory is created correctly.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
This is a place-holder file so that this directory is created correctly.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env rackup
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
require 'utopia'
|
|
5
|
-
require 'json'
|
|
6
|
-
|
|
7
|
-
self.freeze_app
|
|
8
|
-
|
|
9
|
-
use Utopia::ContentLength
|
|
10
|
-
|
|
11
|
-
use Utopia::Redirection::Rewrite, {
|
|
12
|
-
'/' => '/welcome/index'
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
use Utopia::Redirection::DirectoryIndex
|
|
16
|
-
|
|
17
|
-
use Utopia::Redirection::Errors, {
|
|
18
|
-
404 => '/errors/file-not-found'
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
# use Utopia::Localization,
|
|
22
|
-
# :default_locale => 'en',
|
|
23
|
-
# :locales => ['en', 'de', 'ja', 'zh']
|
|
24
|
-
|
|
25
|
-
use Utopia::Controller,
|
|
26
|
-
root: File.expand_path('pages', __dir__)
|
|
27
|
-
|
|
28
|
-
use Utopia::Static,
|
|
29
|
-
root: File.expand_path('pages', __dir__)
|
|
30
|
-
|
|
31
|
-
# Serve dynamic content
|
|
32
|
-
use Utopia::Content,
|
|
33
|
-
root: File.expand_path('pages', __dir__)
|
|
34
|
-
|
|
35
|
-
run lambda { |env| [404, {}, []] }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
You can add additional code for your application in this directory, and require it directly from the config.ru.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<?r response.content_type = "text/html; charset=utf-8" ?>
|
|
5
|
-
<?r response.cache! ?>
|
|
6
|
-
|
|
7
|
-
<?r if title = self[:title] ?>
|
|
8
|
-
<title>#{title.gsub(/<.*?>/, "")} - Utopia</title>
|
|
9
|
-
<?r else ?>
|
|
10
|
-
<title>Utopia</title>
|
|
11
|
-
<?r end ?>
|
|
12
|
-
|
|
13
|
-
<link rel="icon" type="image/png" href="/_static/icon.png" />
|
|
14
|
-
<link rel="stylesheet" href="/_static/site.css" type="text/css" media="screen" />
|
|
15
|
-
</head>
|
|
16
|
-
|
|
17
|
-
<body class="#{self[:class]}">
|
|
18
|
-
<div id="header">
|
|
19
|
-
<img src="/_static/utopia.svg" />
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<div id="page">
|
|
23
|
-
<utopia:content/>
|
|
24
|
-
</div>
|
|
25
|
-
</body>
|
|
26
|
-
</html>
|