Overview

Utopia is a web application framework built on top of Rack.

  • module Content
    • class Builder

      A builder for rendering Utopia content that extends XRB::Builder with Utopia-specific functionality.

    • class UnbalancedTagError

      This error is raised if a tag doesn't match up when parsing.

      • class Document

        A single request through content middleware. We use a struct to hide instance varibles since we instance_exec within this context.

      • class Link

        Represents a link to some content with associated metadata.

      • class Links
      • class SymbolicHash

        A hash which forces all keys to be symbols and fails with KeyError when strings are used.

        • class MarkupParser

          Provides a high level interface for parsing markup.

        • class Middleware

          A middleware which serves dynamically generated content based on markup files.

        • Provider
          • module Namespace

            A namespace which contains tags which can be rendered within a class Utopia::Content::Document.

          • class Node

            Represents an immutable node within the content hierarchy.

          • class Response

            A basic content response, including useful defaults for typical HTML5 content.

          • module Tags

            Tags which provide intrinsic behaviour within the content middleware.

            • tag

              Invokes a node and renders a single node to the output stream.

          • module Controller

            A middleware which loads controller classes and invokes functionality based on the requested path.

          • module Exceptions

            Middleware for handling exceptional situations.

            • class Handler

              A middleware which catches exceptions and performs an internal redirect.

            • class Mailer

              A middleware which catches all exceptions raised from the app it wraps and sends a useful email with the exception, stacktrace, and contents of the environment.

          • module Extensions
          • module HTTP

            HTTP protocol implementation.

            • class Status

              A small HTTP status wrapper that verifies the status code within a given range.

          • class ImportMap

            Represents an import map for JavaScript modules with support for URI and relative path resolution.

            • class Builder

              Builder class for constructing import maps with scoped base URIs.

          • module Localization

            A middleware which attempts to find localized content.

          • class Path

            Represents a path as an array of path components. Useful for efficient URL manipulation.

          • module Redirection

            A middleware which assists with redirecting from one path to another.

          • module Session
          • class Setup

            Used for setting up a Utopia web application, typically via config/environment.rb

          • class Shell

            This is designed to be used with the corresponding bake task.

            • module Static

              A middleware which serves static files from the specified root directory.