From 081aab6295b7879aed40144bd92505e4c60be62b Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Wed, 13 Mar 2024 10:31:37 -0700 Subject: [PATCH] Update website for 3.78.0 release --- documentation.html | 5 +- index.html | 2 +- rdoc/classes/Roda.html | 5 +- rdoc/classes/Roda/RodaPlugins.html | 4 + .../Base/ResponseClassMethods.html | 6 +- .../RodaPlugins/Base/ResponseMethods.html | 124 +++--- .../RodaPlugins/ContentSecurityPolicy.html | 2 +- .../Roda/RodaPlugins/PermissionsPolicy.html | 225 +++++++++++ .../PermissionsPolicy/InstanceMethods.html | 86 +++++ .../RodaPlugins/PermissionsPolicy/Policy.html | 266 +++++++++++++ .../PermissionsPolicy/ResponseMethods.html | 111 ++++++ rdoc/created.rid | 12 +- rdoc/files/CHANGELOG.html | 7 +- rdoc/files/doc/release_notes/3_78_0_txt.html | 175 +++++++++ .../plugins/content_security_policy_rb.html | 2 +- .../roda/plugins/permissions_policy_rb.html | 52 +++ rdoc/files/lib/roda/response_rb.html | 2 +- rdoc/files/lib/roda/version_rb.html | 2 +- rdoc/fr_class_index.html | 4 + rdoc/fr_file_index.html | 2 + rdoc/fr_method_index.html | 364 +++++++++--------- 21 files changed, 1203 insertions(+), 255 deletions(-) create mode 100644 rdoc/classes/Roda/RodaPlugins/PermissionsPolicy.html create mode 100644 rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/InstanceMethods.html create mode 100644 rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/Policy.html create mode 100644 rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/ResponseMethods.html create mode 100644 rdoc/files/doc/release_notes/3_78_0_txt.html create mode 100644 rdoc/files/lib/roda/plugins/permissions_policy_rb.html diff --git a/documentation.html b/documentation.html index c1a40182..b7fb31eb 100644 --- a/documentation.html +++ b/documentation.html @@ -21,7 +21,7 @@
-

Documentation for Roda (v3.77.0)

+

Documentation for Roda (v3.78.0)

README (Introduction to Roda, start here if new)

@@ -130,6 +130,7 @@

Plugins that Ship with Roda

  • halt: Augments request halt method for support for setting response status and/or response body.
  • invalid_request_body: Allows for custom handling of invalid request bodies.
  • module_include: Adds request_module and response_module class methods for adding modules/methods to request/response classes.
  • +
  • permissions_policy: Allows setting an appropriate Permissions-Policy header for the application/branch/action.
  • plain_hash_response_headers: Uses plain hashes for response headers on Rack 3, for much better performance.
  • r: Adds r method for accessing the request, useful when r local variable is not in scope.
  • redirect_http_to_https: Adds request method to redirect HTTP requests to the same location using HTTPS.
  • @@ -250,7 +251,7 @@

    Release Notes

  • - 3.77 | 3.76 | 3.75 | 3.74 | 3.73 | 3.72 | 3.71 | 3.70 + 3.78 | 3.77 | 3.76 | 3.75 | 3.74 | 3.73 | 3.72 | 3.71 | 3.70
  • diff --git a/index.html b/index.html index 73aab5c9..00e5ac55 100644 --- a/index.html +++ b/index.html @@ -104,7 +104,7 @@

    A Modular, Scalable Ruby Framework

  • Simple, Reliable API -

    Currently at version 3.77.0

    +

    Currently at version 3.78.0

  • diff --git a/rdoc/classes/Roda.html b/rdoc/classes/Roda.html index 532850c5..8301de39 100644 --- a/rdoc/classes/Roda.html +++ b/rdoc/classes/Roda.html @@ -314,6 +314,9 @@

    class lib/roda/plugins/path_rewriter.rb

  • +lib/roda/plugins/permissions_policy.rb +
  • +
  • lib/roda/plugins/placeholder_string_matchers.rb
  • @@ -483,7 +486,7 @@

    Constants

    RodaMinorVersion = -77 +78  

    The minor version of Roda, updated for new feature releases of Roda.

    diff --git a/rdoc/classes/Roda/RodaPlugins.html b/rdoc/classes/Roda/RodaPlugins.html index 18c1984d..2d3f4380 100644 --- a/rdoc/classes/Roda/RodaPlugins.html +++ b/rdoc/classes/Roda/RodaPlugins.html @@ -311,6 +311,9 @@

    module lib/roda/plugins/path_rewriter.rb

  • +lib/roda/plugins/permissions_policy.rb +
  • +
  • lib/roda/plugins/placeholder_string_matchers.rb
  • @@ -548,6 +551,7 @@

    Classes and Modules

  • Roda::RodaPlugins::Path
  • Roda::RodaPlugins::PathMatchers
  • Roda::RodaPlugins::PathRewriter
  • +
  • Roda::RodaPlugins::PermissionsPolicy
  • Roda::RodaPlugins::PlaceholderStringMatchers
  • Roda::RodaPlugins::PlainHashResponseHeaders
  • Roda::RodaPlugins::PrecompileTemplates
  • diff --git a/rdoc/classes/Roda/RodaPlugins/Base/ResponseClassMethods.html b/rdoc/classes/Roda/RodaPlugins/Base/ResponseClassMethods.html index 9f33edfd..1cf58c41 100644 --- a/rdoc/classes/Roda/RodaPlugins/Base/ResponseClassMethods.html +++ b/rdoc/classes/Roda/RodaPlugins/Base/ResponseClassMethods.html @@ -83,9 +83,9 @@

    Public Instance methods

    [show source]
       # File lib/roda/response.rb
    -41 def inspect
    -42   "#{roda_class.inspect}::RodaResponse"
    -43 end
    +42 def inspect +43 "#{roda_class.inspect}::RodaResponse" +44 end
    diff --git a/rdoc/classes/Roda/RodaPlugins/Base/ResponseMethods.html b/rdoc/classes/Roda/RodaPlugins/Base/ResponseMethods.html index 814f8406..4a7a3fc6 100644 --- a/rdoc/classes/Roda/RodaPlugins/Base/ResponseMethods.html +++ b/rdoc/classes/Roda/RodaPlugins/Base/ResponseMethods.html @@ -131,11 +131,11 @@

    Public Class methods

    [show source]
       # File lib/roda/response.rb
    -61 def initialize
    -62   @headers = _initialize_headers
    -63   @body    = []
    -64   @length  = 0
    -65 end
    +62 def initialize +63 @headers = _initialize_headers +64 @body = [] +65 @length = 0 +66 end

    Public Instance methods

    @@ -158,9 +158,9 @@

    Public Instance methods

    [show source]
       # File lib/roda/response.rb
    -70 def [](key)
    -71   @headers[key]
    -72 end
    +71 def [](key) +72 @headers[key] +73 end
    @@ -182,9 +182,9 @@

    Public Instance methods

    [show source]
       # File lib/roda/response.rb
    -77 def []=(key, value)
    -78   @headers[key] = value
    -79 end
    +78 def []=(key, value) +79 @headers[key] = value +80 end
    @@ -203,9 +203,9 @@

    Public Instance methods

    [show source]
       # File lib/roda/response.rb
    -82 def default_headers
    -83   DEFAULT_HEADERS
    -84 end
    +83 def default_headers +84 DEFAULT_HEADERS +85 end
    @@ -224,9 +224,9 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -143 def default_status
    -144   200
    -145 end
    +144 def default_status +145 200 +146 end
    @@ -250,9 +250,9 @@

    Public Instance methods

    [show source]
       # File lib/roda/response.rb
    -93 def empty?
    -94   @body.empty?
    -95 end
    +94 def empty? +95 @body.empty? +96 end
    @@ -279,27 +279,27 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -109 def finish
    -110   b = @body
    -111   set_default_headers
    -112   h = @headers
    -113 
    -114   if b.empty?
    -115     s = @status || 404
    -116     if (s == 304 || s == 204 || (s >= 100 && s <= 199))
    -117       h.delete(RodaResponseHeaders::CONTENT_TYPE)
    -118     elsif s == 205
    -119       empty_205_headers(h)
    -120     else
    -121       h[RodaResponseHeaders::CONTENT_LENGTH] ||= '0'
    -122     end
    -123   else
    -124     s = @status || default_status
    -125     h[RodaResponseHeaders::CONTENT_LENGTH] ||= @length.to_s
    -126   end
    -127 
    -128   [s, h, b]
    -129 end
    +110 def finish +111 b = @body +112 set_default_headers +113 h = @headers +114 +115 if b.empty? +116 s = @status || 404 +117 if (s == 304 || s == 204 || (s >= 100 && s <= 199)) +118 h.delete(RodaResponseHeaders::CONTENT_TYPE) +119 elsif s == 205 +120 empty_205_headers(h) +121 else +122 h[RodaResponseHeaders::CONTENT_LENGTH] ||= '0' +123 end +124 else +125 s = @status || default_status +126 h[RodaResponseHeaders::CONTENT_LENGTH] ||= @length.to_s +127 end +128 +129 [s, h, b] +130 end
    @@ -318,10 +318,10 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -135 def finish_with_body(body)
    -136   set_default_headers
    -137   [@status || default_status, @headers, body]
    -138 end
    +136 def finish_with_body(body) +137 set_default_headers +138 [@status || default_status, @headers, body] +139 end
    @@ -340,9 +340,9 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -148 def inspect
    -149   "#<#{self.class.inspect} #{@status.inspect} #{@headers.inspect} #{@body.inspect}>"
    -150 end
    +149 def inspect +150 "#<#{self.class.inspect} #{@status.inspect} #{@headers.inspect} #{@body.inspect}>" +151 end
    @@ -365,11 +365,11 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -157 def redirect(path, status = 302)
    -158   @headers[RodaResponseHeaders::LOCATION] = path
    -159   @status  = status
    -160   nil
    -161 end
    +158 def redirect(path, status = 302) +159 @headers[RodaResponseHeaders::LOCATION] = path +160 @status = status +161 nil +162 end
    @@ -388,9 +388,9 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -164 def roda_class
    -165   self.class.roda_class
    -166 end
    +165 def roda_class +166 self.class.roda_class +167 end
    @@ -412,12 +412,12 @@

    Public Instance methods

    [show source]
        # File lib/roda/response.rb
    -171 def write(str)
    -172   s = str.to_s
    -173   @length += s.bytesize
    -174   @body << s
    -175   nil
    -176 end
    +172 def write(str) +173 s = str.to_s +174 @length += s.bytesize +175 @body << s +176 nil +177 end
    diff --git a/rdoc/classes/Roda/RodaPlugins/ContentSecurityPolicy.html b/rdoc/classes/Roda/RodaPlugins/ContentSecurityPolicy.html index ea3c2bde..2ffb06c7 100644 --- a/rdoc/classes/Roda/RodaPlugins/ContentSecurityPolicy.html +++ b/rdoc/classes/Roda/RodaPlugins/ContentSecurityPolicy.html @@ -138,7 +138,7 @@

    module content_security_policy.add_script_src 'example.com', [:nonce, 'foobarbaz'] # script-src 'self' 'unsafe-eval' example.com 'nonce-foobarbaz'; -content_security_policy.get_script_src 'example.com', [:nonce, 'foobarbaz'] +content_security_policy.get_script_src # => [:self, :unsafe_eval, 'example.com', [:nonce, 'foobarbaz']] diff --git a/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy.html b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy.html new file mode 100644 index 00000000..136a0e18 --- /dev/null +++ b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy.html @@ -0,0 +1,225 @@ + + + +Roda::RodaPlugins::PermissionsPolicy + + + + + + +
    +
    +

    module +Roda::RodaPlugins::PermissionsPolicy +

    +
      +
    1. +lib/roda/plugins/permissions_policy.rb +
    2. +
    +
    +
    +
    +
    +

    A permissions_policy plugin has been added that allows you to easily set a Permissions-Policy header for the application, which browsers can use to determine whether to allow specific functionality on the returned page (mainly related to which JavaScript APIs the page is allowed to use).

    + +

    You would generally call the plugin with a block to set the default policy:

    + +
    plugin :permissions_policy do |pp|
    +  pp.camera :none
    +  pp.fullscreen :self
    +  pp.clipboard_read :self, 'https://example.com'
    +end
    +
    + +

    Then, anywhere in the routing tree, you can customize the policy for just that branch or action using the same block syntax:

    + +
    r.get 'foo' do
    +  permissions_policy do |pp|
    +    pp.camera :self
    +  end
    +  # ...
    +end
    +
    + +

    In addition to using a block, you can also call methods on the object returned by the method:

    + +
    r.get 'foo' do
    +  permissions_policy.camera :self
    +  # ...
    +end
    +
    + +

    You can use the :default plugin option to set the default for all settings. For example, to disallow all access for each setting by default:

    + +
    plugin :permissions_policy, default: :none
    +
    + +

    The following methods are available for configuring the permissions policy, which specify the setting (substituting _ with -):

    +
    • +

      accelerometer

      +
    • +

      ambient_light_sensor

      +
    • +

      autoplay

      +
    • +

      bluetooth

      +
    • +

      camera

      +
    • +

      clipboard_read

      +
    • +

      clipboard_write

      +
    • +

      display_capture

      +
    • +

      encrypted_media

      +
    • +

      fullscreen

      +
    • +

      geolocation

      +
    • +

      gyroscope

      +
    • +

      hid

      +
    • +

      idle_detection

      +
    • +

      keyboard_map

      +
    • +

      magnetometer

      +
    • +

      microphone

      +
    • +

      midi

      +
    • +

      payment

      +
    • +

      picture_in_picture

      +
    • +

      publickey_credentials_get

      +
    • +

      screen_wake_lock

      +
    • +

      serial

      +
    • +

      sync_xhr

      +
    • +

      usb

      +
    • +

      web_share

      +
    • +

      window_management

      +
    + +

    All of these methods support any number of arguments, and each argument should be one of the following values:

    +
    :all +

    Grants permission to all domains (must be only argument)

    +
    :none +

    Does not allow permission at all (must be only argument)

    +
    :self +

    Allows feature in current document and any nested browsing contexts that use the same domain as the current document.

    +
    :src +

    Allows feature in current document and any nested browsing contexts that use the same domain as the src of the iframe.

    +
    String +

    Specifies origin domain where access is allowed

    +
    + +

    When calling a method with no arguments, the setting is removed from the policy instead of being left empty, since all of these setting require at least one value. Likewise, if the policy does not have any settings, the header will not be added.

    + +

    Calling the method overrides any previous setting. Each of the methods has add_* and get_* methods defined. The add_* method appends to any existing setting, and the get_* method returns the current value for the setting (this will be :all if all domains are allowed, or any array of strings/:self/:src).

    + +
    permissions_policy.fullscreen :self, 'https://example.com'
    +# fullscreen (self "https://example.com")
    +
    +permissions_policy.add_fullscreen 'https://*.example.com'
    +# fullscreen (self "https://example.com" "https://*.example.com")
    +
    +permissions_policy.get_fullscreen
    +# => [:self, "https://example.com", "https://*.example.com"]
    +
    + +

    The clear method can be used to remove all settings from the policy.

    +
    +
    +

    Methods

    +

    Public Class

    +
      +
    1. configure
    2. +
    +
    +
    +
    + +
    +
    +

    Public Class methods

    +
    + +
    +configure(app, opts=OPTS) + +
    +
    + +

    Yield the current Permissions Policy to the block.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +275 def self.configure(app, opts=OPTS)
    +276   policy = app.opts[:permissions_policy] = if policy = app.opts[:permissions_policy]
    +277     policy.dup
    +278   else
    +279     Policy.new
    +280   end
    +281 
    +282   if default = opts[:default]
    +283     SUPPORTED_SETTINGS.each do |setting|
    +284       policy.send(setting.gsub('-', '_'), *default)
    +285     end
    +286   end
    +287 
    +288   yield policy if defined?(yield)
    +289   policy.freeze
    +290 end
    +
    +
    +
    +
    + +
    +
    + + +
    + + + diff --git a/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/InstanceMethods.html b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/InstanceMethods.html new file mode 100644 index 00000000..85bff093 --- /dev/null +++ b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/InstanceMethods.html @@ -0,0 +1,86 @@ + + + +Roda::RodaPlugins::PermissionsPolicy::InstanceMethods + + + + + + +
    +
    +

    module +Roda::RodaPlugins::PermissionsPolicy::InstanceMethods +

    +
      +
    1. +lib/roda/plugins/permissions_policy.rb +
    2. +
    +
    +
    +
    +
    +
    +

    Methods

    +

    Public Instance

    +
      +
    1. permissions_policy
    2. +
    +
    +
    +
    +
    +
    +

    Public Instance methods

    +
    + +
    +permissions_policy() + +
    +
    + +

    If a block is given, yield the current permission policy. Returns the current permissions policy.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +295 def permissions_policy
    +296   policy = @_response.permissions_policy
    +297   yield policy if defined?(yield)
    +298   policy
    +299 end
    +
    +
    +
    +
    + +
    +
    + + +
    + + + diff --git a/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/Policy.html b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/Policy.html new file mode 100644 index 00000000..346fb048 --- /dev/null +++ b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/Policy.html @@ -0,0 +1,266 @@ + + + +Roda::RodaPlugins::PermissionsPolicy::Policy + + + + + + +
    +
    +

    class +Roda::RodaPlugins::PermissionsPolicy::Policy +

    +
      +
    1. +lib/roda/plugins/permissions_policy.rb +
    2. +
    +
    +Superclass: +Object +
    +
    +
    +
    +
    +

    Represents a permissions policy.

    +
    +
    +

    Methods

    +

    Public Class

    +
      +
    1. new
    2. +
    +

    Public Instance

    +
      +
    1. clear
    2. +
    3. freeze
    4. +
    5. header_key
    6. +
    7. header_value
    8. +
    9. report_only
    10. +
    11. report_only?
    12. +
    13. set_header
    14. +
    +
    +
    +
    +
    +
    +

    Public Class methods

    +
    + +
    +new() + +
    +
    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +173 def initialize
    +174   clear
    +175 end
    +
    +
    +

    Public Instance methods

    +
    + +
    +clear() + +
    +
    + +

    Clear all settings, useful to remove any inherited settings.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +178 def clear
    +179   @opts = {}
    +180 end
    +
    +
    +
    + +
    +freeze() + +
    +
    + +

    Do not allow future modifications to any settings.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +183 def freeze
    +184   @opts.freeze
    +185   header_value.freeze
    +186   super
    +187 end
    +
    +
    +
    + +
    +header_key() + +
    +
    + +

    The header name to use, depends on whether report only mode has been enabled.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +190 def header_key
    +191   @report_only ? RodaResponseHeaders::PERMISSIONS_POLICY_REPORT_ONLY : RodaResponseHeaders::PERMISSIONS_POLICY
    +192 end
    +
    +
    +
    + +
    +header_value() + +
    +
    + +

    The header value to use.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +195 def header_value
    +196   return @header_value if @header_value
    +197 
    +198   s = String.new
    +199   @opts.each do |k, vs|
    +200     s << k << "="
    +201 
    +202     if vs == :all
    +203       s << '*, '
    +204     else
    +205       s << '('
    +206       vs.each{|v| append_formatted_value(s, v)}
    +207       s.chop! unless vs.empty?
    +208       s << '), '
    +209     end
    +210   end
    +211   s.chop!
    +212   s.chop!
    +213   @header_value = s
    +214 end
    +
    +
    +
    + +
    +report_only(report=true) + +
    +
    + +

    Set whether the Permissions-Policy-Report-Only header instead of the default Permissions-Policy header.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +218 def report_only(report=true)
    +219   @report_only = report
    +220 end
    +
    +
    +
    + +
    +report_only?() + +
    +
    + +

    Whether this policy uses report only mode.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +223 def report_only?
    +224   !!@report_only
    +225 end
    +
    +
    +
    + +
    +set_header(headers) + +
    +
    + +

    Set the current policy in the headers hash. If no settings have been made in the policy, does not set a header.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +229 def set_header(headers)
    +230   return if @opts.empty?
    +231   headers[header_key] ||= header_value
    +232 end
    +
    +
    +
    +
    + +
    +
    + + +
    + + + diff --git a/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/ResponseMethods.html b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/ResponseMethods.html new file mode 100644 index 00000000..66819971 --- /dev/null +++ b/rdoc/classes/Roda/RodaPlugins/PermissionsPolicy/ResponseMethods.html @@ -0,0 +1,111 @@ + + + +Roda::RodaPlugins::PermissionsPolicy::ResponseMethods + + + + + + +
    +
    +

    module +Roda::RodaPlugins::PermissionsPolicy::ResponseMethods +

    +
      +
    1. +lib/roda/plugins/permissions_policy.rb +
    2. +
    +
    +
    +
    +
    +
    +

    Methods

    +

    Public Class

    +
      +
    1. new
    2. +
    +

    Public Instance

    +
      +
    1. permissions_policy
    2. +
    +
    +
    +
    +
    +
    +

    Public Class methods

    +
    + +
    +new() + +
    +
    + +

    Unset any permissions policy when reinitializing

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +304 def initialize
    +305   super
    +306   @permissions_policy &&= nil
    +307 end
    +
    +
    +

    Public Instance methods

    +
    + +
    +permissions_policy() + +
    +
    + +

    The current permissions policy to be used for this response.

    + +
    +
    + +[show source] + +
        # File lib/roda/plugins/permissions_policy.rb
    +310 def permissions_policy
    +311   @permissions_policy ||= roda_class.opts[:permissions_policy].dup
    +312 end
    +
    +
    +
    +
    + +
    +
    + + +
    + + + diff --git a/rdoc/created.rid b/rdoc/created.rid index 8205e18d..77853ce9 100644 --- a/rdoc/created.rid +++ b/rdoc/created.rid @@ -1,6 +1,6 @@ -Mon, 12 Feb 2024 09:32:00 -0800 +Wed, 13 Mar 2024 10:31:18 -0700 README.rdoc Wed, 18 Oct 2023 15:53:01 -0700 -CHANGELOG Mon, 12 Feb 2024 09:15:48 -0800 +CHANGELOG Wed, 13 Mar 2024 10:26:39 -0700 doc/CHANGELOG.old Fri, 11 Mar 2022 10:33:07 -0800 MIT-LICENSE Thu, 12 Jan 2023 07:50:45 -0800 lib/roda.rb Mon, 14 Aug 2023 09:53:11 -0700 @@ -29,7 +29,7 @@ lib/roda/plugins/class_level_routing.rb Mon, 22 Jun 2020 15:56:02 -0700 lib/roda/plugins/class_matchers.rb Tue, 23 May 2023 09:08:39 -0700 lib/roda/plugins/common_logger.rb Mon, 19 Jun 2023 16:20:51 -0700 lib/roda/plugins/content_for.rb Tue, 02 Nov 2021 13:25:06 -0700 -lib/roda/plugins/content_security_policy.rb Mon, 19 Jun 2023 16:20:51 -0700 +lib/roda/plugins/content_security_policy.rb Fri, 23 Feb 2024 16:31:57 -0800 lib/roda/plugins/cookie_flags.rb Tue, 21 Nov 2023 12:22:29 -0800 lib/roda/plugins/cookies.rb Wed, 20 Apr 2022 11:42:37 -0700 lib/roda/plugins/csrf.rb Wed, 23 May 2018 10:59:22 -0700 @@ -98,6 +98,7 @@ lib/roda/plugins/pass.rb Fri, 20 Jan 2017 09:06:43 -0800 lib/roda/plugins/path.rb Fri, 13 Jan 2023 14:19:00 -0800 lib/roda/plugins/path_matchers.rb Wed, 16 Aug 2017 08:44:25 -0700 lib/roda/plugins/path_rewriter.rb Wed, 16 Aug 2017 08:44:25 -0700 +lib/roda/plugins/permissions_policy.rb Tue, 12 Mar 2024 10:38:13 -0700 lib/roda/plugins/placeholder_string_matchers.rb Thu, 16 Apr 2020 13:01:43 -0700 lib/roda/plugins/plain_hash_response_headers.rb Mon, 19 Jun 2023 16:20:51 -0700 lib/roda/plugins/precompile_templates.rb Wed, 13 Jan 2021 12:42:16 -0800 @@ -138,9 +139,9 @@ lib/roda/plugins/typecast_params_sized_integers.rb Tue, 08 Nov 2022 08:49:54 -08 lib/roda/plugins/unescape_path.rb Mon, 17 Oct 2022 09:28:16 -0700 lib/roda/plugins/view_options.rb Mon, 12 Sep 2022 13:47:50 -0700 lib/roda/request.rb Fri, 17 Mar 2023 08:33:20 -0700 -lib/roda/response.rb Tue, 17 Oct 2023 17:08:27 -0700 +lib/roda/response.rb Fri, 23 Feb 2024 14:44:14 -0800 lib/roda/session_middleware.rb Sun, 04 Aug 2019 14:34:46 -0700 -lib/roda/version.rb Mon, 12 Feb 2024 09:15:48 -0800 +lib/roda/version.rb Wed, 13 Mar 2024 10:26:39 -0700 doc/conventions.rdoc Mon, 16 Oct 2023 12:10:05 -0700 doc/release_notes/1.0.0.txt Tue, 19 Aug 2014 09:04:25 -0700 doc/release_notes/1.1.0.txt Tue, 11 Nov 2014 11:35:26 -0800 @@ -254,5 +255,6 @@ doc/release_notes/3.74.0.txt Mon, 13 Nov 2023 09:07:15 -0800 doc/release_notes/3.75.0.txt Thu, 14 Dec 2023 14:42:40 -0800 doc/release_notes/3.76.0.txt Fri, 12 Jan 2024 07:49:35 -0800 doc/release_notes/3.77.0.txt Mon, 12 Feb 2024 09:15:48 -0800 +doc/release_notes/3.78.0.txt Wed, 13 Mar 2024 10:26:39 -0700 doc/release_notes/3.8.0.txt Thu, 17 May 2018 13:49:47 -0700 doc/release_notes/3.9.0.txt Mon, 11 Jun 2018 12:33:07 -0700 diff --git a/rdoc/files/CHANGELOG.html b/rdoc/files/CHANGELOG.html index 8f0c99b3..4dd57d75 100644 --- a/rdoc/files/CHANGELOG.html +++ b/rdoc/files/CHANGELOG.html @@ -31,12 +31,17 @@

    CHANGELOG
    Last Update: -2024-02-12 09:15:48 -0800 +2024-03-13 10:26:39 -0700
    +

    3.78.0 (2024-03-13)

    +
    • +

      Add permissions_policy plugin for setting Permissions-Policy header (jeremyevans)

      +
    +

    3.77.0 (2024-02-12)

    • Support formaction/formmethod attributes in forms in route_csrf plugin (jeremyevans)

      diff --git a/rdoc/files/doc/release_notes/3_78_0_txt.html b/rdoc/files/doc/release_notes/3_78_0_txt.html new file mode 100644 index 00000000..13cc5f31 --- /dev/null +++ b/rdoc/files/doc/release_notes/3_78_0_txt.html @@ -0,0 +1,175 @@ + + + +3.78.0.txt + + + + + + +
      +
      +

      3.78.0.txt +

      +
      +doc/release_notes/3.78.0.txt +
      +
      +Last Update: +2024-03-13 10:26:39 -0700 +
      +
      +
      +
      +
      +

      New Features

      +
      • +

        A permissions_policy plugin has been added that allows you to easily set a Permissions-Policy header for the application, which browsers can use to determine whether to allow specific functionality on the returned page (mainly related to which JavaScript APIs the page is allowed to use).

        + +

        You would generally call the plugin with a block to set the default policy:

        + +
        plugin :permissions_policy do |pp|
        +  pp.camera :none
        +  pp.fullscreen :self
        +  pp.clipboard_read :self, 'https://example.com'
        +end
        +
        + +

        Then, anywhere in the routing tree, you can customize the policy for just that branch or action using the same block syntax:

        + +
        r.get 'foo' do
        +  permissions_policy do |pp|
        +    pp.camera :self
        +  end
        +  # ...
        +end
        +
        + +

        In addition to using a block, you can also call methods on the object returned by the method:

        + +
        r.get 'foo' do
        +  permissions_policy.camera :self
        +  # ...
        +end
        +
        + +

        You can use the :default plugin option to set the default for all settings. For example, to disallow all access for each setting by default:

        + +
        plugin :permissions_policy, default: :none
        +
        + +

        The following methods are available for configuring the permissions policy, which specify the setting (substituting _ with -):

        +
        • +

          accelerometer

          +
        • +

          ambient_light_sensor

          +
        • +

          autoplay

          +
        • +

          bluetooth

          +
        • +

          camera

          +
        • +

          clipboard_read

          +
        • +

          clipboard_write

          +
        • +

          display_capture

          +
        • +

          encrypted_media

          +
        • +

          fullscreen

          +
        • +

          geolocation

          +
        • +

          gyroscope

          +
        • +

          hid

          +
        • +

          idle_detection

          +
        • +

          keyboard_map

          +
        • +

          magnetometer

          +
        • +

          microphone

          +
        • +

          midi

          +
        • +

          payment

          +
        • +

          picture_in_picture

          +
        • +

          publickey_credentials_get

          +
        • +

          screen_wake_lock

          +
        • +

          serial

          +
        • +

          sync_xhr

          +
        • +

          usb

          +
        • +

          web_share

          +
        • +

          window_management

          +
        + +

        All of these methods support any number of arguments, and each argument should be one of the following values:

        +
        :all +

        Grants permission to all domains (must be only argument)

        +
        :none +

        Does not allow permission at all (must be only argument)

        +
        :self +

        Allows feature in current document and any nested browsing contexts that use the same domain as the current document.

        +
        :src +

        Allows feature in current document and any nested browsing contexts that use the same domain as the src of the iframe.

        +
        String +

        Specifies origin domain where access is allowed

        +
        + +

        When calling a method with no arguments, the setting is removed from the policy instead of being left empty, since all of these setting require at least one value. Likewise, if the policy does not have any settings, the header will not be added.

        + +

        Calling the method overrides any previous setting. Each of the methods has add_* and get_* methods defined. The add_* method appends to any existing setting, and the get_* method returns the current value for the setting (this will be :all if all domains are allowed, or any array of strings/:self/:src).

        + +
        permissions_policy.fullscreen :self, 'https://example.com'
        +# fullscreen (self "https://example.com")
        +
        +permissions_policy.add_fullscreen 'https://*.example.com'
        +# fullscreen (self "https://example.com" "https://*.example.com")
        +
        +permissions_policy.get_fullscreen
        +# => [:self, "https://example.com", "https://*.example.com"]
        +
        + +

        The clear method can be used to remove all settings from the policy.

        +
      +
      +
      +
      + +
      +
      + + +
      + + + diff --git a/rdoc/files/lib/roda/plugins/content_security_policy_rb.html b/rdoc/files/lib/roda/plugins/content_security_policy_rb.html index a3916ac1..9702d61f 100644 --- a/rdoc/files/lib/roda/plugins/content_security_policy_rb.html +++ b/rdoc/files/lib/roda/plugins/content_security_policy_rb.html @@ -31,7 +31,7 @@

      content_security_policy.rb

    Last Update: -2023-06-19 16:20:51 -0700 +2024-02-23 16:31:57 -0800
    diff --git a/rdoc/files/lib/roda/plugins/permissions_policy_rb.html b/rdoc/files/lib/roda/plugins/permissions_policy_rb.html new file mode 100644 index 00000000..e10949ac --- /dev/null +++ b/rdoc/files/lib/roda/plugins/permissions_policy_rb.html @@ -0,0 +1,52 @@ + + + +permissions_policy.rb + + + + + + +
    +
    +

    permissions_policy.rb +

    +
    +lib/roda/plugins/permissions_policy.rb +
    +
    +Last Update: +2024-03-12 10:38:13 -0700 +
    +
    +
    +
    +
    +
    +
    + +
    +
    + + +
    + + + diff --git a/rdoc/files/lib/roda/response_rb.html b/rdoc/files/lib/roda/response_rb.html index 8a198ef2..620c085a 100644 --- a/rdoc/files/lib/roda/response_rb.html +++ b/rdoc/files/lib/roda/response_rb.html @@ -31,7 +31,7 @@

    response.rb

    Last Update: -2023-10-17 17:08:27 -0700 +2024-02-23 14:44:14 -0800
    diff --git a/rdoc/files/lib/roda/version_rb.html b/rdoc/files/lib/roda/version_rb.html index f810f702..c306bfa8 100644 --- a/rdoc/files/lib/roda/version_rb.html +++ b/rdoc/files/lib/roda/version_rb.html @@ -31,7 +31,7 @@

    version.rb

    Last Update: -2024-02-12 09:15:48 -0800 +2024-03-13 10:26:39 -0700
    diff --git a/rdoc/fr_class_index.html b/rdoc/fr_class_index.html index c6040d72..a7f92380 100644 --- a/rdoc/fr_class_index.html +++ b/rdoc/fr_class_index.html @@ -252,6 +252,10 @@
    Roda::RodaPlugins::PathRewriter Roda::RodaPlugins::PathRewriter::ClassMethods Roda::RodaPlugins::PathRewriter::RequestMethods +
    Roda::RodaPlugins::PermissionsPolicy +Roda::RodaPlugins::PermissionsPolicy::InstanceMethods +Roda::RodaPlugins::PermissionsPolicy::Policy +Roda::RodaPlugins::PermissionsPolicy::ResponseMethods
    Roda::RodaPlugins::PlaceholderStringMatchers Roda::RodaPlugins::PlaceholderStringMatchers::RequestMethods
    Roda::RodaPlugins::PlainHashResponseHeaders diff --git a/rdoc/fr_file_index.html b/rdoc/fr_file_index.html index 0680a1c2..6428ea25 100644 --- a/rdoc/fr_file_index.html +++ b/rdoc/fr_file_index.html @@ -127,6 +127,7 @@
  • 3.75.0.txt
  • 3.76.0.txt
  • 3.77.0.txt
  • +
  • 3.78.0.txt
  • 3.8.0.txt
  • 3.9.0.txt
  • roda.rb
  • @@ -224,6 +225,7 @@
  • path.rb
  • path_matchers.rb
  • path_rewriter.rb
  • +
  • permissions_policy.rb
  • placeholder_string_matchers.rb
  • plain_hash_response_headers.rb
  • precompile_templates.rb
  • diff --git a/rdoc/fr_method_index.html b/rdoc/fr_method_index.html index 11719a68..599e0f37 100644 --- a/rdoc/fr_method_index.html +++ b/rdoc/fr_method_index.html @@ -37,151 +37,154 @@
  • #route_block (Roda::RodaPlugins::Base::ClassMethods)
  • #scope (Roda::RodaPlugins::Base::RequestMethods)
  • #status (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • ::configure (Roda::RodaPlugins::DefaultStatus)
  • +
  • ::configure (Roda::RodaPlugins::JsonParser)
  • +
  • ::configure (Roda::RodaPlugins::Mailer)
  • +
  • ::configure (Roda::RodaPlugins::Json)
  • ::configure (Roda::RodaPlugins::ClassLevelRouting)
  • -
  • ::configure (Roda::RodaPlugins::SinatraHelpers)
  • -
  • ::configure (Roda::RodaPlugins::HashBranches)
  • -
  • ::configure (Roda::RodaPlugins::NamedTemplates)
  • -
  • ::configure (Roda::RodaPlugins::CommonLogger)
  • -
  • ::configure (Roda::RodaPlugins::Middleware)
  • -
  • ::configure (Roda::RodaPlugins::StripPathPrefix)
  • -
  • ::configure (Roda::RodaPlugins::ContentFor)
  • +
  • ::configure (Roda::RodaPlugins::InvalidRequestBody)
  • +
  • ::configure (Roda::RodaPlugins::ErrorHandler)
  • +
  • ::configure (Roda::RodaPlugins::RouteCsrf)
  • ::configure (Roda::RodaPlugins::AdditionalRenderEngines)
  • -
  • ::configure (Roda::RodaPlugins::HashPaths)
  • +
  • ::configure (Roda::RodaPlugins::CommonLogger)
  • ::configure (Roda::RodaPlugins::AdditionalViewDirectories)
  • -
  • ::configure (Roda::RodaPlugins::MatchHookArgs)
  • +
  • ::configure (Roda::RodaPlugins::ContentFor)
  • ::configure (Roda::RodaPlugins::Assets)
  • -
  • ::configure (Roda::RodaPlugins::HashRoutes)
  • -
  • ::configure (Roda::RodaPlugins::Render)
  • -
  • ::configure (Roda::RodaPlugins::HashBranchViewSubdir)
  • +
  • ::configure (Roda::RodaPlugins::IntegerMatcherMax)
  • ::configure (Roda::RodaPlugins::ContentSecurityPolicy)
  • -
  • ::configure (Roda::RodaPlugins::Chunked)
  • -
  • ::configure (Roda::RodaPlugins::NotFound)
  • +
  • ::configure (Roda::RodaPlugins::RouteBlockArgs)
  • ::configure (Roda::RodaPlugins::MatchAffix)
  • -
  • ::configure (Roda::RodaPlugins::Sessions)
  • +
  • ::configure (Roda::RodaPlugins::HostAuthorization)
  • +
  • ::configure (Roda::RodaPlugins::RequestAref)
  • +
  • ::configure (Roda::RodaPlugins::Hooks)
  • +
  • ::configure (Roda::RodaPlugins::Heartbeat)
  • +
  • ::configure (Roda::RodaPlugins::RenderLocals)
  • +
  • ::configure (Roda::RodaPlugins::MatchHookArgs)
  • +
  • ::configure (Roda::RodaPlugins::Middleware)
  • ::configure (Roda::RodaPlugins::CookieFlags)
  • -
  • ::configure (Roda::RodaPlugins::SymbolMatchers)
  • -
  • ::configure (Roda::RodaPlugins::SymbolViews)
  • -
  • ::configure (Roda::RodaPlugins::TimestampPublic)
  • ::configure (Roda::RodaPlugins::AutoloadHashBranches)
  • -
  • ::configure (Roda::RodaPlugins::Static)
  • +
  • ::configure (Roda::RodaPlugins::HashRoutes)
  • ::configure (Roda::RodaPlugins::Cookies)
  • -
  • ::configure (Roda::RodaPlugins::NamedRoutes)
  • -
  • ::configure (Roda::RodaPlugins::Mailer)
  • -
  • ::configure (Roda::RodaPlugins::AutoloadNamedRoutes)
  • -
  • ::configure (Roda::RodaPlugins::FilterCommonLogger)
  • -
  • ::configure (Roda::RodaPlugins::TypeRouting)
  • -
  • ::configure (Roda::RodaPlugins::TypecastParams)
  • -
  • ::configure (Roda::RodaPlugins::RouteCsrf)
  • +
  • ::configure (Roda::RodaPlugins::Chunked)
  • ::configure (Roda::RodaPlugins::RunAppendSlash)
  • -
  • ::configure (Roda::RodaPlugins::Heartbeat)
  • -
  • ::configure (Roda::RodaPlugins::Csrf)
  • -
  • ::configure (Roda::RodaPlugins::Path)
  • -
  • ::configure (Roda::RodaPlugins::RedirectHttpToHttps)
  • -
  • ::configure (Roda::RodaPlugins::PathRewriter)
  • +
  • ::configure (Roda::RodaPlugins::AutoloadNamedRoutes)
  • ::configure (Roda::RodaPlugins::MultiPublic)
  • -
  • ::configure (Roda::RodaPlugins::RenderLocals)
  • -
  • ::configure (Roda::RodaPlugins::Hooks)
  • -
  • ::configure (Roda::RodaPlugins::RequestAref)
  • +
  • ::configure (Roda::RodaPlugins::HashPaths)
  • ::configure (Roda::RodaPlugins::ErrorMail)
  • +
  • ::configure (Roda::RodaPlugins::Csrf)
  • +
  • ::configure (Roda::RodaPlugins::MultiRoute)
  • ::configure (Roda::RodaPlugins::MultiRun)
  • -
  • ::configure (Roda::RodaPlugins::ErrorHandler)
  • -
  • ::configure (Roda::RodaPlugins::HostAuthorization)
  • -
  • ::configure (Roda::RodaPlugins::ErrorEmail)
  • ::configure (Roda::RodaPlugins::CustomBlockResults)
  • +
  • ::configure (Roda::RodaPlugins::HashBranches)
  • +
  • ::configure (Roda::RodaPlugins::Sessions)
  • +
  • ::configure (Roda::RodaPlugins::RenderCoverage)
  • ::configure (Roda::RodaPlugins::CustomMatchers)
  • -
  • ::configure (Roda::RodaPlugins::IntegerMatcherMax)
  • -
  • ::configure (Roda::RodaPlugins::InvalidRequestBody)
  • -
  • ::configure (Roda::RodaPlugins::Public)
  • -
  • ::configure (Roda::RodaPlugins::Environments)
  • +
  • ::configure (Roda::RodaPlugins::NamedRoutes)
  • +
  • ::configure (Roda::RodaPlugins::SinatraHelpers)
  • +
  • ::configure (Roda::RodaPlugins::HashBranchViewSubdir)
  • ::configure (Roda::RodaPlugins::DefaultHeaders)
  • -
  • ::configure (Roda::RodaPlugins::StatusHandler)
  • +
  • ::configure (Roda::RodaPlugins::NamedTemplates)
  • +
  • ::configure (Roda::RodaPlugins::Render)
  • +
  • ::configure (Roda::RodaPlugins::RedirectHttpToHttps)
  • +
  • ::configure (Roda::RodaPlugins::NotFound)
  • ::configure (Roda::RodaPlugins::DirectCall)
  • -
  • ::configure (Roda::RodaPlugins::Json)
  • -
  • ::configure (Roda::RodaPlugins::JsonParser)
  • -
  • ::configure (Roda::RodaPlugins::RouteBlockArgs)
  • -
  • ::configure (Roda::RodaPlugins::MultiRoute)
  • ::configure (Roda::RodaPlugins::RecheckPrecompiledAssets)
  • -
  • ::configure (Roda::RodaPlugins::DefaultStatus)
  • -
  • ::configure (Roda::RodaPlugins::RenderCoverage)
  • +
  • ::configure (Roda::RodaPlugins::FilterCommonLogger)
  • +
  • ::configure (Roda::RodaPlugins::Environments)
  • +
  • ::configure (Roda::RodaPlugins::SymbolViews)
  • +
  • ::configure (Roda::RodaPlugins::Public)
  • +
  • ::configure (Roda::RodaPlugins::ErrorEmail)
  • +
  • ::configure (Roda::RodaPlugins::Path)
  • +
  • ::configure (Roda::RodaPlugins::PathRewriter)
  • +
  • ::configure (Roda::RodaPlugins::PermissionsPolicy)
  • +
  • ::configure (Roda::RodaPlugins::StripPathPrefix)
  • +
  • ::configure (Roda::RodaPlugins::StatusHandler)
  • +
  • ::configure (Roda::RodaPlugins::SymbolMatchers)
  • +
  • ::configure (Roda::RodaPlugins::TypecastParams)
  • +
  • ::configure (Roda::RodaPlugins::TypeRouting)
  • +
  • ::configure (Roda::RodaPlugins::TimestampPublic)
  • +
  • ::configure (Roda::RodaPlugins::Static)
  • ::create (Roda::RodaPlugins::TypecastParams::Error)
  • ::css (Roda::RodaPlugins::ExceptionPage)
  • ::decode64 (Roda::RodaPlugins::Base64_)
  • ::deprecate_constant (Roda::RodaPlugins)
  • ::handle_type (Roda::RodaPlugins::TypecastParams::Params)
  • ::js (Roda::RodaPlugins::ExceptionPage)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MultibyteStringMatcher)
  • -
  • ::load_dependencies (Roda::RodaPlugins::ExceptionPage)
  • -
  • ::load_dependencies (Roda::RodaPlugins::NotAllowed)
  • ::load_dependencies (Roda::RodaPlugins::LinkTo)
  • -
  • ::load_dependencies (Roda::RodaPlugins::InjectERB)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MultiRoute)
  • -
  • ::load_dependencies (Roda::RodaPlugins::ErbH)
  • ::load_dependencies (Roda::RodaPlugins::PrecompileTemplates)
  • -
  • ::load_dependencies (Roda::RodaPlugins::PlaceholderStringMatchers)
  • -
  • ::load_dependencies (Roda::RodaPlugins::RenderLocals)
  • -
  • ::load_dependencies (Roda::RodaPlugins::ViewOptions)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MultiPublic)
  • -
  • ::load_dependencies (Roda::RodaPlugins::RenderEach)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MultiView)
  • +
  • ::load_dependencies (Roda::RodaPlugins::ExceptionPage)
  • +
  • ::load_dependencies (Roda::RodaPlugins::SymbolMatchers)
  • +
  • ::load_dependencies (Roda::RodaPlugins::StaticRouting)
  • +
  • ::load_dependencies (Roda::RodaPlugins::ErbH)
  • ::load_dependencies (Roda::RodaPlugins::RouteCsrf)
  • +
  • ::load_dependencies (Roda::RodaPlugins::RecheckPrecompiledAssets)
  • +
  • ::load_dependencies (Roda::RodaPlugins::AdditionalRenderEngines)
  • ::load_dependencies (Roda::RodaPlugins::FilterCommonLogger)
  • -
  • ::load_dependencies (Roda::RodaPlugins::TypecastParamsSizedIntegers)
  • -
  • ::load_dependencies (Roda::RodaPlugins::StaticRouting)
  • -
  • ::load_dependencies (Roda::RodaPlugins::AutoloadNamedRoutes)
  • -
  • ::load_dependencies (Roda::RodaPlugins::HashRoutes)
  • -
  • ::load_dependencies (Roda::RodaPlugins::BranchLocals)
  • -
  • ::load_dependencies (Roda::RodaPlugins::AutoloadHashBranches)
  • ::load_dependencies (Roda::RodaPlugins::Partials)
  • ::load_dependencies (Roda::RodaPlugins::PadrinoRender)
  • -
  • ::load_dependencies (Roda::RodaPlugins::AssetsPreloading)
  • +
  • ::load_dependencies (Roda::RodaPlugins::NotFound)
  • +
  • ::load_dependencies (Roda::RodaPlugins::NotAllowed)
  • +
  • ::load_dependencies (Roda::RodaPlugins::PlaceholderStringMatchers)
  • +
  • ::load_dependencies (Roda::RodaPlugins::HashBranchViewSubdir)
  • +
  • ::load_dependencies (Roda::RodaPlugins::NamedTemplates)
  • +
  • ::load_dependencies (Roda::RodaPlugins::TypecastParamsSizedIntegers)
  • ::load_dependencies (Roda::RodaPlugins::RenderCoverage)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MatchAffix)
  • +
  • ::load_dependencies (Roda::RodaPlugins::BranchLocals)
  • ::load_dependencies (Roda::RodaPlugins::SinatraHelpers)
  • +
  • ::load_dependencies (Roda::RodaPlugins::ViewOptions)
  • +
  • ::load_dependencies (Roda::RodaPlugins::AdditionalViewDirectories)
  • +
  • ::load_dependencies (Roda::RodaPlugins::Sessions)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MultiView)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MultiRoute)
  • +
  • ::load_dependencies (Roda::RodaPlugins::AutoloadNamedRoutes)
  • ::load_dependencies (Roda::RodaPlugins::CaptureERB)
  • -
  • ::load_dependencies (Roda::RodaPlugins::MatchHook)
  • +
  • ::load_dependencies (Roda::RodaPlugins::RenderEach)
  • ::load_dependencies (Roda::RodaPlugins::Chunked)
  • -
  • ::load_dependencies (Roda::RodaPlugins::NotFound)
  • -
  • ::load_dependencies (Roda::RodaPlugins::HashBranchViewSubdir)
  • -
  • ::load_dependencies (Roda::RodaPlugins::NamedTemplates)
  • -
  • ::load_dependencies (Roda::RodaPlugins::SymbolMatchers)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MultiPublic)
  • +
  • ::load_dependencies (Roda::RodaPlugins::RenderLocals)
  • +
  • ::load_dependencies (Roda::RodaPlugins::HashRoutes)
  • +
  • ::load_dependencies (Roda::RodaPlugins::AutoloadHashBranches)
  • +
  • ::load_dependencies (Roda::RodaPlugins::AssetsPreloading)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MatchHook)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MatchAffix)
  • +
  • ::load_dependencies (Roda::RodaPlugins::InjectERB)
  • ::load_dependencies (Roda::RodaPlugins::Assets)
  • -
  • ::load_dependencies (Roda::RodaPlugins::AdditionalViewDirectories)
  • -
  • ::load_dependencies (Roda::RodaPlugins::AdditionalRenderEngines)
  • ::load_dependencies (Roda::RodaPlugins::ContentFor)
  • -
  • ::load_dependencies (Roda::RodaPlugins::RecheckPrecompiledAssets)
  • -
  • ::load_dependencies (Roda::RodaPlugins::Sessions)
  • +
  • ::load_dependencies (Roda::RodaPlugins::MultibyteStringMatcher)
  • ::load_plugin (Roda::RodaPlugins)
  • ::max_input_bytesize (Roda::RodaPlugins::TypecastParams::Params)
  • ::nest (Roda::RodaPlugins::TypecastParams::Params)
  • +
  • ::new (Roda::RodaPlugins::MiddlewareStack::Stack)
  • ::new (Roda::RodaCache)
  • -
  • ::new (Roda::RodaPlugins::ClassLevelRouting::InstanceMethods)
  • -
  • ::new (RodaSessionMiddleware::SessionHash)
  • ::new (Roda::RodaPlugins::Chunked::StreamBody)
  • -
  • ::new (Roda::RodaPlugins::HashRoutes::DSL)
  • -
  • ::new (Roda::RodaPlugins::Middleware::Forwarder)
  • -
  • ::new (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • -
  • ::new (Roda::RodaPlugins::Base::InstanceMethods)
  • -
  • ::new (Roda::RodaPlugins::Chunked::Body)
  • -
  • ::new (Roda::RodaPlugins::MiddlewareStack::Stack)
  • -
  • ::new (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • -
  • ::new (Roda::RodaPlugins::IndifferentParams::QueryParser::Params)
  • +
  • ::new (Roda::RodaPlugins::Base::RequestMethods)
  • +
  • ::new (Roda::RodaPlugins::PermissionsPolicy::ResponseMethods)
  • +
  • ::new (Roda::RodaPlugins::Streaming::Stream)
  • ::new (Roda::RodaPlugins::PathRewriter::RequestMethods)
  • -
  • ::new (Roda::RodaPlugins::Render::TemplateMtimeWrapper)
  • -
  • ::new (Roda::RodaPlugins::Head::CloseLater)
  • ::new (Roda::RodaPlugins::Mailer::InstanceMethods)
  • -
  • ::new (Roda::RodaPlugins::TypecastParams::Params)
  • -
  • ::new (Roda::RodaPlugins::Streaming::Stream)
  • -
  • ::new (Roda::RodaPlugins::ContentSecurityPolicy::ResponseMethods)
  • -
  • ::new (Roda::RodaPlugins::RequestHeaders::Headers)
  • -
  • ::new (Roda::RodaPlugins::Flash::FlashHash)
  • -
  • ::new (Roda::RodaPlugins::DisallowFileUploads::RequestMethods)
  • -
  • ::new (Roda::RodaPlugins::ResponseRequest::InstanceMethods)
  • -
  • ::new (Roda::RodaPlugins::MiddlewareStack::StackPosition)
  • ::new (Roda::RodaPlugins::Streaming::AsyncStream)
  • -
  • ::new (RodaSessionMiddleware)
  • -
  • ::new (Roda::RodaPlugins::Base::RequestMethods)
  • +
  • ::new (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • ::new (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • ::new (Roda::RodaPlugins::Flash::FlashHash)
  • +
  • ::new (Roda::RodaPlugins::ResponseRequest::InstanceMethods)
  • ::new (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • +
  • ::new (Roda::RodaPlugins::RequestHeaders::Headers)
  • +
  • ::new (Roda::RodaPlugins::IndifferentParams::QueryParser::Params)
  • +
  • ::new (Roda::RodaPlugins::ClassLevelRouting::InstanceMethods)
  • +
  • ::new (Roda::RodaPlugins::ContentSecurityPolicy::ResponseMethods)
  • +
  • ::new (Roda::RodaPlugins::Base::InstanceMethods)
  • +
  • ::new (Roda::RodaPlugins::TypecastParams::Params)
  • +
  • ::new (RodaSessionMiddleware::SessionHash)
  • +
  • ::new (Roda::RodaPlugins::Chunked::Body)
  • +
  • ::new (Roda::RodaPlugins::Render::TemplateMtimeWrapper)
  • +
  • ::new (RodaSessionMiddleware)
  • +
  • ::new (Roda::RodaPlugins::Head::CloseLater)
  • +
  • ::new (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • +
  • ::new (Roda::RodaPlugins::MiddlewareStack::StackPosition)
  • +
  • ::new (Roda::RodaPlugins::Middleware::Forwarder)
  • +
  • ::new (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • +
  • ::new (Roda::RodaPlugins::HashRoutes::DSL)
  • +
  • ::new (Roda::RodaPlugins::DisallowFileUploads::RequestMethods)
  • ::register_plugin (Roda::RodaPlugins)
  • ::split_secret (Roda::RodaPlugins::Sessions)
  • ::start_timer (Roda::RodaPlugins::CommonLogger)
  • @@ -189,41 +192,41 @@
  • ::urlsafe_decode64 (Roda::RodaPlugins::Base64_)
  • ::urlsafe_encode64 (Roda::RodaPlugins::Base64_)
  • #<< (Roda::RodaPlugins::Streaming::Stream)
  • -
  • #POST (Roda::RodaPlugins::JsonParser::RequestMethods)
  • #POST (Roda::RodaPlugins::InvalidRequestBody::RequestMethods)
  • -
  • #[] (Roda::RodaPlugins::TypecastParams::Params)
  • -
  • #[] (Roda::RodaCache)
  • +
  • #POST (Roda::RodaPlugins::JsonParser::RequestMethods)
  • #[] (Roda::RodaPlugins::Base::ResponseMethods)
  • -
  • #[] (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • -
  • #[] (Roda::RodaPlugins::RequestHeaders::Headers)
  • +
  • #[] (Roda::RodaPlugins::TypecastParams::Params)
  • #[] (RodaSessionMiddleware::SessionHash)
  • -
  • #[]= (Roda::RodaPlugins::Base::ResponseMethods)
  • -
  • #[]= (Roda::RodaPlugins::Flash::FlashHash)
  • +
  • #[] (Roda::RodaPlugins::RequestHeaders::Headers)
  • +
  • #[] (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • +
  • #[] (Roda::RodaCache)
  • #[]= (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • #[]= (RodaSessionMiddleware::SessionHash)
  • +
  • #[]= (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • #[]= (Roda::RodaPlugins::Flash::FlashHash)
  • #[]= (Roda::RodaCache)
  • #_match_hook_args (Roda::RodaPlugins::MatchHookArgs::InstanceMethods)
  • #_remaining_path (RodaSessionMiddleware::RequestMethods)
  • -
  • #_roda_handle_main_route (Roda::RodaPlugins::Base::InstanceMethods)
  • #_roda_handle_main_route (Roda::RodaPlugins::ErrorHandler::InstanceMethods)
  • +
  • #_roda_handle_main_route (Roda::RodaPlugins::Base::InstanceMethods)
  • #_roda_handle_route (Roda::RodaPlugins::Base::InstanceMethods)
  • #_roda_main_route (Roda::RodaPlugins::Base::InstanceMethods)
  • -
  • #_roda_run_main_route (Roda::RodaPlugins::Middleware::InstanceMethods)
  • #_roda_run_main_route (Roda::RodaPlugins::BeforeHook::InstanceMethods)
  • +
  • #_roda_run_main_route (Roda::RodaPlugins::Middleware::InstanceMethods)
  • #_roda_run_main_route (Roda::RodaPlugins::Base::InstanceMethods)
  • #_string_parse! (Roda::RodaPlugins::TypecastParams::DateParseInputHandler)
  • #add_file (Roda::RodaPlugins::Mailer::InstanceMethods)
  • #add_match_hook (Roda::RodaPlugins::MatchHookArgs::ClassMethods)
  • -
  • #after (Roda::RodaPlugins::MiddlewareStack::Stack)
  • #after (Roda::RodaPlugins::Hooks::ClassMethods)
  • +
  • #after (Roda::RodaPlugins::MiddlewareStack::Stack)
  • #after_mail_hook (Roda::RodaPlugins::MailProcessor::InstanceMethods)
  • #all_errors (Roda::RodaPlugins::TypecastParams::Error)
  • #app (Roda::RodaPlugins::Base::ClassMethods)
  • #append_view_subdir (Roda::RodaPlugins::ViewOptions::InstanceMethods)
  • #array (Roda::RodaPlugins::TypecastParams::Params)
  • #array! (Roda::RodaPlugins::TypecastParams::Params)
  • -
  • #assets (Roda::RodaPlugins::Assets::InstanceMethods)
  • #assets (Roda::RodaPlugins::Assets::RequestMethods)
  • +
  • #assets (Roda::RodaPlugins::Assets::InstanceMethods)
  • #assets_matchers (Roda::RodaPlugins::Assets::RequestClassMethods)
  • #assets_opts (Roda::RodaPlugins::Assets::ClassMethods)
  • #assets_paths (Roda::RodaPlugins::Assets::InstanceMethods)
  • @@ -232,36 +235,37 @@
  • #autoload_hash_branch_dir (Roda::RodaPlugins::AutoloadHashBranches::ClassMethods)
  • #autoload_named_route (Roda::RodaPlugins::AutoloadNamedRoutes::ClassMethods)
  • #back (Roda::RodaPlugins::SinatraHelpers::RequestMethods)
  • -
  • #before (Roda::RodaPlugins::Hooks::ClassMethods)
  • #before (Roda::RodaPlugins::MiddlewareStack::Stack)
  • +
  • #before (Roda::RodaPlugins::Hooks::ClassMethods)
  • #block_result (Roda::RodaPlugins::Base::RequestMethods)
  • #body (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • #body= (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • #build! (Roda::RodaPlugins::DelayBuild::ClassMethods)
  • #cache_control (Roda::RodaPlugins::Caching::ResponseMethods)
  • #cached_matcher (Roda::RodaPlugins::Base::RequestClassMethods)
  • -
  • #call (Roda::RodaPlugins::Base::InstanceMethods)
  • -
  • #call (RodaSessionMiddleware)
  • -
  • #call (Roda::RodaPlugins::BeforeHook::InstanceMethods)
  • -
  • #call (Roda::RodaPlugins::Base::ClassMethods)
  • -
  • #call (Roda::RodaPlugins::DirectCall::ClassMethods)
  • #call (Roda::RodaPlugins::Middleware::Forwarder)
  • +
  • #call (Roda::RodaPlugins::BeforeHook::InstanceMethods)
  • #call (Roda::RodaPlugins::ErrorHandler::InstanceMethods)
  • +
  • #call (Roda::RodaPlugins::DirectCall::ClassMethods)
  • +
  • #call (Roda::RodaPlugins::Base::InstanceMethods)
  • +
  • #call (Roda::RodaPlugins::Base::ClassMethods)
  • #call (Roda::RodaPlugins::Middleware::InstanceMethods)
  • +
  • #call (RodaSessionMiddleware)
  • #capture_erb (Roda::RodaPlugins::CaptureERB::InstanceMethods)
  • #check_csrf! (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #check_host_authorization! (Roda::RodaPlugins::HostAuthorization::InstanceMethods)
  • #chunked (Roda::RodaPlugins::Chunked::InstanceMethods)
  • #class_delegate (Roda::RodaPlugins::Delegate::ClassMethods)
  • #class_matcher (Roda::RodaPlugins::ClassMatchers::ClassMethods)
  • +
  • #clear (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #clear (RodaSessionMiddleware::SessionHash)
  • #clear (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • #clear_middleware! (Roda::RodaPlugins::Base::ClassMethods)
  • #clear_named_route_regexp! (Roda::RodaPlugins::MultiRoute::RequestClassMethods)
  • #clear_session (Roda::RodaPlugins::Sessions::InstanceMethods)
  • #client_error? (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • -
  • #close (Roda::RodaPlugins::Head::CloseLater)
  • #close (Roda::RodaPlugins::Streaming::AsyncStream)
  • +
  • #close (Roda::RodaPlugins::Head::CloseLater)
  • #close (Roda::RodaPlugins::Streaming::Stream)
  • #closed? (Roda::RodaPlugins::Streaming::Stream)
  • #compile_assets (Roda::RodaPlugins::Assets::ClassMethods)
  • @@ -274,24 +278,24 @@
  • #content_type (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • #convert! (Roda::RodaPlugins::TypecastParams::Params)
  • #convert_each! (Roda::RodaPlugins::TypecastParams::Params)
  • -
  • #create_template (Roda::RodaPlugins::RenderCoverage::ClassMethods)
  • #create_template (Roda::RodaPlugins::Render::ClassMethods)
  • -
  • #csrf_field (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • +
  • #create_template (Roda::RodaPlugins::RenderCoverage::ClassMethods)
  • #csrf_field (Roda::RodaPlugins::Csrf::InstanceMethods)
  • +
  • #csrf_field (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #csrf_formaction_tag (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • -
  • #csrf_header (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #csrf_header (Roda::RodaPlugins::Csrf::InstanceMethods)
  • +
  • #csrf_header (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #csrf_metatag (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #csrf_metatag (Roda::RodaPlugins::Csrf::InstanceMethods)
  • #csrf_path (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • -
  • #csrf_tag (Roda::RodaPlugins::Csrf::InstanceMethods)
  • #csrf_tag (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • -
  • #csrf_token (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • +
  • #csrf_tag (Roda::RodaPlugins::Csrf::InstanceMethods)
  • #csrf_token (Roda::RodaPlugins::Csrf::InstanceMethods)
  • +
  • #csrf_token (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #custom_matcher (Roda::RodaPlugins::CustomMatchers::ClassMethods)
  • #default_headers (Roda::RodaPlugins::DefaultHeaders::ClassMethods)
  • -
  • #default_headers (Roda::RodaPlugins::Base::ResponseMethods)
  • #default_headers (Roda::RodaPlugins::DefaultHeaders::ResponseMethods)
  • +
  • #default_headers (Roda::RodaPlugins::Base::ResponseMethods)
  • #default_status (Roda::RodaPlugins::Base::ResponseMethods)
  • #define_compiled_method (Roda::RodaPlugins::Render::TemplateMtimeWrapper)
  • #define_roda_method (Roda::RodaPlugins::Base::ClassMethods)
  • @@ -303,19 +307,19 @@
  • #dig! (Roda::RodaPlugins::TypecastParams::Params)
  • #discard (Roda::RodaPlugins::Flash::FlashHash)
  • #dispatch_from (Roda::RodaPlugins::HashRoutes::DSL)
  • +
  • #each (Roda::RodaPlugins::Head::CloseLater)
  • #each (Roda::RodaPlugins::Streaming::AsyncStream)
  • -
  • #each (Roda::RodaPlugins::Chunked::StreamBody)
  • -
  • #each (RodaSessionMiddleware::SessionHash)
  • #each (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • -
  • #each (Roda::RodaPlugins::Head::CloseLater)
  • +
  • #each (RodaSessionMiddleware::SessionHash)
  • +
  • #each (Roda::RodaPlugins::Chunked::StreamBody)
  • #each (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • #each (Roda::RodaPlugins::Streaming::Stream)
  • #each (Roda::RodaPlugins::Chunked::Body)
  • #each_chunk (Roda::RodaPlugins::Chunked::InstanceMethods)
  • #each_partial (Roda::RodaPlugins::Partials::InstanceMethods)
  • +
  • #empty? (Roda::RodaPlugins::Base::ResponseMethods)
  • #empty? (RodaSessionMiddleware::SessionHash)
  • #empty? (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • -
  • #empty? (Roda::RodaPlugins::Base::ResponseMethods)
  • #env (Roda::RodaPlugins::Base::InstanceMethods)
  • #environment (Roda::RodaPlugins::Environments::ClassMethods)
  • #environment= (Roda::RodaPlugins::Environments::ClassMethods)
  • @@ -331,51 +335,52 @@
  • #exception_page_css (Roda::RodaPlugins::ExceptionPage::InstanceMethods)
  • #exception_page_js (Roda::RodaPlugins::ExceptionPage::InstanceMethods)
  • #exists? (RodaSessionMiddleware::SessionHash)
  • -
  • #expand_path (Roda::RodaPlugins::StripPathPrefix::ClassMethods)
  • #expand_path (Roda::RodaPlugins::Base::ClassMethods)
  • +
  • #expand_path (Roda::RodaPlugins::StripPathPrefix::ClassMethods)
  • #expires (Roda::RodaPlugins::Caching::ResponseMethods)
  • #fetch (RodaSessionMiddleware::SessionHash)
  • #fetch (Roda::RodaPlugins::TypecastParams::Params)
  • -
  • #finish (Roda::RodaPlugins::Caching::ResponseMethods)
  • -
  • #finish (Roda::RodaPlugins::Mailer::ResponseMethods)
  • -
  • #finish (Roda::RodaPlugins::Base::ResponseMethods)
  • -
  • #finish (Roda::RodaPlugins::DropBody::ResponseMethods)
  • #finish (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • +
  • #finish (Roda::RodaPlugins::DropBody::ResponseMethods)
  • #finish (Roda::RodaPlugins::DeleteEmptyHeaders::ResponseMethods)
  • -
  • #finish_with_body (Roda::RodaPlugins::DeleteEmptyHeaders::ResponseMethods)
  • +
  • #finish (Roda::RodaPlugins::Mailer::ResponseMethods)
  • +
  • #finish (Roda::RodaPlugins::Caching::ResponseMethods)
  • +
  • #finish (Roda::RodaPlugins::Base::ResponseMethods)
  • #finish_with_body (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • #finish_with_body (Roda::RodaPlugins::DeleteEmptyHeaders::ResponseMethods)
  • #flash (Roda::RodaPlugins::Flash::InstanceMethods)
  • #flush (Roda::RodaPlugins::Chunked::InstanceMethods)
  • #forward_next (Roda::RodaPlugins::Middleware::RequestMethods)
  • -
  • #freeze (Roda::RodaPlugins::MultiRoute::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::CustomBlockResults::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::MatchHookArgs::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::AutoloadHashBranches::ClassMethods)
  • #freeze (Roda::RodaPlugins::Hooks::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::TypecastParams::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #freeze (Roda::RodaPlugins::MultiRun::ClassMethods)
  • #freeze (Roda::RodaPlugins::StatusHandler::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::Render::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::Base::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::PathRewriter::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::MailProcessor::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • #freeze (Roda::RodaPlugins::ClassLevelRouting::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::Path::ClassMethods)
  • #freeze (Roda::RodaPlugins::HashRoutes::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::AutoloadNamedRoutes::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::AutoloadHashBranches::ClassMethods)
  • #freeze (Roda::RodaPlugins::NamedRoutes::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::HashBranchViewSubdir::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::DefaultHeaders::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::HashBranches::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::CustomBlockResults::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • -
  • #freeze (Roda::RodaPlugins::HashPaths::ClassMethods)
  • #freeze (Roda::RodaCache)
  • +
  • #freeze (Roda::RodaPlugins::PathRewriter::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::Base::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::AutoloadNamedRoutes::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::DefaultHeaders::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::HashBranchViewSubdir::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::Path::ClassMethods)
  • #freeze (Roda::RodaPlugins::NamedTemplates::ClassMethods)
  • -
  • #freeze (Roda::RodaPlugins::MatchHookArgs::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::Render::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::MultiRoute::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::TypecastParams::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::HashPaths::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::HashBranches::ClassMethods)
  • +
  • #freeze (Roda::RodaPlugins::MailProcessor::ClassMethods)
  • #freeze_template_caches! (Roda::RodaPlugins::PrecompileTemplates::ClassMethods)
  • #get (Roda::RodaPlugins::Base::RequestMethods)
  • #h (Roda::RodaPlugins::H::InstanceMethods)
  • -
  • #halt (Roda::RodaPlugins::Base::RequestMethods)
  • #halt (Roda::RodaPlugins::Halt::RequestMethods)
  • +
  • #halt (Roda::RodaPlugins::Base::RequestMethods)
  • #handle (Roda::RodaPlugins::MailProcessor::RequestMethods)
  • #handle_block_result (Roda::RodaPlugins::CustomBlockResults::ClassMethods)
  • #handle_chunk_error (Roda::RodaPlugins::Chunked::InstanceMethods)
  • @@ -384,8 +389,8 @@
  • #handle_stream_error (Roda::RodaPlugins::Streaming::InstanceMethods)
  • #handled_mail_hook (Roda::RodaPlugins::MailProcessor::InstanceMethods)
  • #has_key? (RodaSessionMiddleware::SessionHash)
  • -
  • #hash_branch (Roda::RodaPlugins::HashBranches::ClassMethods)
  • #hash_branch (Roda::RodaPlugins::HashBranchViewSubdir::ClassMethods)
  • +
  • #hash_branch (Roda::RodaPlugins::HashBranches::ClassMethods)
  • #hash_branches (Roda::RodaPlugins::HashBranches::RequestMethods)
  • #hash_matcher (Roda::RodaPlugins::HashMatcher::ClassMethods)
  • #hash_path (Roda::RodaPlugins::HashPaths::ClassMethods)
  • @@ -394,35 +399,37 @@
  • #hash_routes (Roda::RodaPlugins::HashRoutes::ClassMethods)
  • #header (Roda::RodaPlugins::MailProcessor::RequestMethods)
  • #header_key (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • +
  • #header_key (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #header_value (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • +
  • #header_value (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #headers (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • #headers (Roda::RodaPlugins::RequestHeaders::RequestMethods)
  • #http_version (Roda::RodaPlugins::Base::RequestMethods)
  • #include (Roda::RodaPlugins::Base::ClassMethods)
  • #include? (RodaSessionMiddleware::SessionHash)
  • #informational? (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • -
  • #inherited (Roda::RodaPlugins::HashPaths::ClassMethods)
  • -
  • #inherited (Roda::RodaPlugins::HashBranches::ClassMethods)
  • #inherited (Roda::RodaPlugins::MultiRoute::ClassMethods)
  • -
  • #inherited (Roda::RodaPlugins::NamedRoutes::ClassMethods)
  • +
  • #inherited (Roda::RodaPlugins::TypecastParams::ClassMethods)
  • #inherited (Roda::RodaPlugins::Base::ClassMethods)
  • -
  • #inherited (Roda::RodaPlugins::HashBranchViewSubdir::ClassMethods)
  • +
  • #inherited (Roda::RodaPlugins::NamedRoutes::ClassMethods)
  • +
  • #inherited (Roda::RodaPlugins::HashBranches::ClassMethods)
  • +
  • #inherited (Roda::RodaPlugins::HashPaths::ClassMethods)
  • #inherited (Roda::RodaPlugins::Render::ClassMethods)
  • -
  • #inherited (Roda::RodaPlugins::TypecastParams::ClassMethods)
  • +
  • #inherited (Roda::RodaPlugins::HashBranchViewSubdir::ClassMethods)
  • #inject_erb (Roda::RodaPlugins::InjectERB::InstanceMethods)
  • #inline_template_block (Roda::RodaPlugins::Render::ClassMethods)
  • #inspect (Roda::RodaPlugins::Base::ResponseClassMethods)
  • -
  • #inspect (Roda::RodaPlugins::Base::RequestMethods)
  • -
  • #inspect (RodaSessionMiddleware::SessionHash)
  • -
  • #inspect (Roda::RodaPlugins::Base::ResponseMethods)
  • #inspect (Roda::RodaPlugins::Base::RequestClassMethods)
  • -
  • #is (Roda::RodaPlugins::Base::RequestMethods)
  • -
  • #is (Roda::RodaPlugins::NotAllowed::RequestMethods)
  • +
  • #inspect (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • #inspect (RodaSessionMiddleware::SessionHash)
  • +
  • #inspect (Roda::RodaPlugins::Base::RequestMethods)
  • #is (Roda::RodaPlugins::OptimizedMatching::RequestMethods)
  • +
  • #is (Roda::RodaPlugins::NotAllowed::RequestMethods)
  • +
  • #is (Roda::RodaPlugins::Base::RequestMethods)
  • #is (Roda::RodaPlugins::HashRoutes::DSL)
  • #is_exactly (Roda::RodaPlugins::OptimizedStringMatchers::RequestMethods)
  • -
  • #is_get? (Roda::RodaPlugins::Base::RequestMethods)
  • #is_get? (Roda::RodaPlugins::Head::RequestMethods)
  • +
  • #is_get? (Roda::RodaPlugins::Base::RequestMethods)
  • #is_segment (Roda::RodaPlugins::OptimizedSegmentMatchers::RequestMethods)
  • #join (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • #json_result_classes (Roda::RodaPlugins::Json::ClassMethods)
  • @@ -433,8 +440,8 @@
  • #length (Roda::RodaPlugins::SinatraHelpers::DelayedBody)
  • #link_to (Roda::RodaPlugins::LinkTo::InstanceMethods)
  • #loaded? (RodaSessionMiddleware::SessionHash)
  • -
  • #mail (Roda::RodaPlugins::MailProcessor::InstanceMethods)
  • #mail (Roda::RodaPlugins::Mailer::RequestMethods)
  • +
  • #mail (Roda::RodaPlugins::MailProcessor::InstanceMethods)
  • #mail (Roda::RodaPlugins::Mailer::ClassMethods)
  • #mail_attachments (Roda::RodaPlugins::Mailer::ResponseMethods)
  • #mail_recipients (Roda::RodaPlugins::MailProcessor::InstanceMethods)
  • @@ -471,9 +478,9 @@
  • #not_found (Roda::RodaPlugins::SinatraHelpers::RequestMethods)
  • #not_found (Roda::RodaPlugins::NotFound::ClassMethods)
  • #not_found? (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • -
  • #on (Roda::RodaPlugins::Base::RequestMethods)
  • #on (Roda::RodaPlugins::HashRoutes::DSL)
  • #on (Roda::RodaPlugins::OptimizedMatching::RequestMethods)
  • +
  • #on (Roda::RodaPlugins::Base::RequestMethods)
  • #on_branch (Roda::RodaPlugins::OptimizedStringMatchers::RequestMethods)
  • #on_segment (Roda::RodaPlugins::OptimizedSegmentMatchers::RequestMethods)
  • #on_type (Roda::RodaPlugins::TypeRouting::RequestMethods)
  • @@ -486,11 +493,13 @@
  • #parse_nested_query (Roda::RodaPlugins::IndifferentParams::QueryParser)
  • #partial (Roda::RodaPlugins::Partials::InstanceMethods)
  • #pass (Roda::RodaPlugins::Pass::RequestMethods)
  • -
  • #path (Roda::RodaPlugins::Path::ClassMethods)
  • #path (Roda::RodaPlugins::Base::RequestMethods)
  • #path (Roda::RodaPlugins::Path::InstanceMethods)
  • +
  • #path (Roda::RodaPlugins::Path::ClassMethods)
  • #path_block (Roda::RodaPlugins::Path::ClassMethods)
  • #path_classes (Roda::RodaPlugins::Path::ClassMethods)
  • +
  • #permissions_policy (Roda::RodaPlugins::PermissionsPolicy::ResponseMethods)
  • +
  • #permissions_policy (Roda::RodaPlugins::PermissionsPolicy::InstanceMethods)
  • #persist_session (Roda::RodaPlugins::Sessions::RequestMethods)
  • #plugin (Roda::RodaPlugins::Base::ClassMethods)
  • #post (Roda::RodaPlugins::Base::RequestMethods)
  • @@ -507,8 +516,8 @@
  • #rcpt (Roda::RodaPlugins::MailProcessor::ClassMethods)
  • #read_asset_file (Roda::RodaPlugins::Assets::InstanceMethods)
  • #real_remaining_path (Roda::RodaPlugins::TypeRouting::RequestMethods)
  • -
  • #redirect (Roda::RodaPlugins::Base::RequestMethods)
  • #redirect (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • #redirect (Roda::RodaPlugins::Base::RequestMethods)
  • #redirect (Roda::RodaPlugins::SinatraHelpers::RequestMethods)
  • #redirect? (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • #redirect_http_to_https (Roda::RodaPlugins::RedirectHttpToHttps::RequestMethods)
  • @@ -517,8 +526,8 @@
  • #relative_prefix (Roda::RodaPlugins::RelativePath::InstanceMethods)
  • #remove (Roda::RodaPlugins::MiddlewareStack::Stack)
  • #render (Roda::RodaPlugins::Render::InstanceMethods)
  • -
  • #render (Roda::RodaPlugins::Render::TemplateMtimeWrapper)
  • #render (Roda::RodaPlugins::PadrinoRender::InstanceMethods)
  • +
  • #render (Roda::RodaPlugins::Render::TemplateMtimeWrapper)
  • #render_asset (Roda::RodaPlugins::Assets::InstanceMethods)
  • #render_each (Roda::RodaPlugins::RenderEach::InstanceMethods)
  • #render_opts (Roda::RodaPlugins::Render::ClassMethods)
  • @@ -526,6 +535,8 @@
  • #replace (Roda::RodaPlugins::RecheckPrecompiledAssets::CompiledAssetsHash)
  • #replace (RodaSessionMiddleware::SessionHash)
  • #report_only (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • +
  • #report_only (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • +
  • #report_only? (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #report_only? (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • #request_delegate (Roda::RodaPlugins::Delegate::ClassMethods)
  • #request_module (Roda::RodaPlugins::ModuleInclude::ClassMethods)
  • @@ -537,29 +548,30 @@
  • #roda_class (Roda::RodaPlugins::Base::ResponseMethods)
  • #roda_class (Roda::RodaPlugins::Base::RequestMethods)
  • #root (Roda::RodaPlugins::EmptyRoot::RequestMethods)
  • -
  • #root (Roda::RodaPlugins::Base::RequestMethods)
  • #root (Roda::RodaPlugins::NotAllowed::RequestMethods)
  • -
  • #route (Roda::RodaPlugins::NamedRoutes::RequestMethods)
  • +
  • #root (Roda::RodaPlugins::Base::RequestMethods)
  • +
  • #route (Roda::RodaPlugins::MultiRoute::ClassMethods)
  • #route (Roda::RodaPlugins::Base::ClassMethods)
  • #route (Roda::RodaPlugins::NamedRoutes::ClassMethods)
  • -
  • #route (Roda::RodaPlugins::MultiRoute::ClassMethods)
  • -
  • #run (Roda::RodaPlugins::MultiRun::ClassMethods)
  • -
  • #run (Roda::RodaPlugins::Base::RequestMethods)
  • +
  • #route (Roda::RodaPlugins::NamedRoutes::RequestMethods)
  • +
  • #run (Roda::RodaPlugins::RunHandler::RequestMethods)
  • #run (Roda::RodaPlugins::RunRequireSlash::RequestMethods)
  • #run (Roda::RodaPlugins::RunAppendSlash::RequestMethods)
  • -
  • #run (Roda::RodaPlugins::RunHandler::RequestMethods)
  • +
  • #run (Roda::RodaPlugins::Base::RequestMethods)
  • +
  • #run (Roda::RodaPlugins::MultiRun::ClassMethods)
  • #send_early_hints (Roda::RodaPlugins::EarlyHints::InstanceMethods)
  • #send_file (Roda::RodaPlugins::SinatraHelpers::RequestMethods)
  • #sendmail (Roda::RodaPlugins::Mailer::ClassMethods)
  • #server_error? (Roda::RodaPlugins::SinatraHelpers::ResponseMethods)
  • -
  • #session (Roda::RodaPlugins::Base::InstanceMethods)
  • #session (Roda::RodaPlugins::Base::RequestMethods)
  • #session (Roda::RodaPlugins::Sessions::RequestMethods)
  • +
  • #session (Roda::RodaPlugins::Base::InstanceMethods)
  • #session_created_at (Roda::RodaPlugins::Sessions::RequestMethods)
  • #session_updated_at (Roda::RodaPlugins::Sessions::RequestMethods)
  • #set_cookie (Roda::RodaPlugins::Cookies::ResponseMethods)
  • #set_default_headers (Roda::RodaPlugins::Base::ClassMethods)
  • #set_header (Roda::RodaPlugins::ContentSecurityPolicy::Policy)
  • +
  • #set_header (Roda::RodaPlugins::PermissionsPolicy::Policy)
  • #set_layout_locals (Roda::RodaPlugins::BranchLocals::InstanceMethods)
  • #set_layout_options (Roda::RodaPlugins::ViewOptions::InstanceMethods)
  • #set_view_locals (Roda::RodaPlugins::BranchLocals::InstanceMethods)
  • @@ -596,12 +608,12 @@
  • #use_request_specific_csrf_tokens? (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #valid_csrf? (Roda::RodaPlugins::RouteCsrf::InstanceMethods)
  • #values (RodaSessionMiddleware::SessionHash)
  • +
  • #view (Roda::RodaPlugins::HashRoutes::DSL)
  • #view (Roda::RodaPlugins::Render::InstanceMethods)
  • #view (Roda::RodaPlugins::Chunked::InstanceMethods)
  • -
  • #view (Roda::RodaPlugins::HashRoutes::DSL)
  • #views (Roda::RodaPlugins::HashRoutes::DSL)
  • -
  • #write (Roda::RodaPlugins::Streaming::Stream)
  • #write (Roda::RodaPlugins::Base::ResponseMethods)
  • +
  • #write (Roda::RodaPlugins::Streaming::Stream)