Module: Utopia
- Defined in:
- lib/utopia/version.rb,
lib/utopia.rb,
lib/utopia/http.rb,
lib/utopia/path.rb,
lib/utopia/setup.rb,
lib/utopia/shell.rb,
lib/utopia/static.rb,
lib/utopia/content.rb,
lib/utopia/request.rb,
lib/utopia/session.rb,
lib/utopia/response.rb,
lib/utopia/controller.rb,
lib/utopia/exceptions.rb,
lib/utopia/import_map.rb,
lib/utopia/middleware.rb,
lib/utopia/application.rb,
lib/utopia/content/link.rb,
lib/utopia/content/node.rb,
lib/utopia/content/tags.rb,
lib/utopia/localization.rb,
lib/utopia/path/matcher.rb,
lib/utopia/content/links.rb,
lib/utopia/content/markup.rb,
lib/utopia/content/builder.rb,
lib/utopia/controller/base.rb,
lib/utopia/content/document.rb,
lib/utopia/content/response.rb,
lib/utopia/content/namespace.rb,
lib/utopia/controller/result.rb,
lib/utopia/exceptions/mailer.rb,
lib/utopia/redirection/moved.rb,
lib/utopia/session/lazy_hash.rb,
lib/utopia/static/local_file.rb,
lib/utopia/static/middleware.rb,
lib/utopia/static/mime_types.rb,
lib/utopia/content/middleware.rb,
lib/utopia/controller/actions.rb,
lib/utopia/controller/respond.rb,
lib/utopia/controller/rewrite.rb,
lib/utopia/exceptions/handler.rb,
lib/utopia/redirection/errors.rb,
lib/utopia/session/middleware.rb,
lib/utopia/redirection/rewrite.rb,
lib/utopia/controller/responder.rb,
lib/utopia/controller/variables.rb,
lib/utopia/localization/locales.rb,
lib/utopia/controller/middleware.rb,
lib/utopia/localization/resolver.rb,
lib/utopia/session/serialization.rb,
lib/utopia/extensions/array_split.rb,
lib/utopia/localization/middleware.rb,
lib/utopia/localization/preferences.rb,
lib/utopia/extensions/date_comparisons.rb,
lib/utopia/redirection/client_redirect.rb,
lib/utopia/redirection/directory_index.rb,
lib/utopia/redirection/request_failure.rb
Overview
Released under the MIT License. Copyright, 2026, by Samuel Williams.
Defined Under Namespace
Modules: Content, Controller, Exceptions, Extensions, HTTP, Localization, Redirection, Response, Session, Static Classes: Application, ImportMap, Path, Request, Setup, Shell
Constant Summary collapse
- VERSION =
"3.0.1"- PAGES_PATH =
The default pages path for Content middleware.
"pages".freeze
Class Method Summary collapse
-
.default_path(*arguments) ⇒ Path
The same as Utopia.default_root but returns an instance of Path.
-
.default_root(subdirectory = PAGES_PATH, pwd = Dir.pwd) ⇒ Object
The default root directory for middleware to operate within, e.g.
-
.Path(path) ⇒ Object
Coerce a value into a Path.
-
.setup(root = nil, **options) ⇒ Object
You can call this method exactly once per process.
Class Method Details
.default_path(*arguments) ⇒ Path
The same as default_root but returns an instance of Path.
24 25 26 |
# File 'lib/utopia/middleware.rb', line 24 def self.default_path(*arguments) Path[default_root(*arguments)] end |
.default_root(subdirectory = PAGES_PATH, pwd = Dir.pwd) ⇒ Object
The default root directory for middleware to operate within, e.g. the web-site directory. Convention over configuration.
18 19 20 |
# File 'lib/utopia/middleware.rb', line 18 def self.default_root(subdirectory = PAGES_PATH, pwd = Dir.pwd) File.(subdirectory, pwd) end |
.Path(path) ⇒ Object
Coerce a value into a Path.
539 540 541 |
# File 'lib/utopia/path.rb', line 539 def self.Path(path) Path.create(path) end |
.setup(root = nil, **options) ⇒ Object
You can call this method exactly once per process.
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/utopia/setup.rb', line 138 def self.setup(root = nil, **) if @setup raise RuntimeError, "Utopia already setup!" end # We extract the root from the caller of this method: if root.nil? config_root = File.dirname(caller[0]) root = File.dirname(config_root) end @setup = Setup.new(root, **) @setup.apply! return @setup end |