module Roda::RodaPlugins
def self.deprecate_constant(mod, name)
Deprecate the constant with the given name in the given module,
def self.deprecate_constant(mod, name) # :nocov: if RUBY_VERSION >= '2.3' mod.deprecate_constant(name) end # :nocov: end
def self.load_plugin(name)
plugin doesn't exist, or a RodaError if it exists but it does
require it and return it. This raises a LoadError if such a
If the registered plugin already exists, use it. Otherwise,
def self.load_plugin(name) h = @plugins unless plugin = h[name] require "roda/plugins/#{name}" raise RodaError, "Plugin #{name} did not register itself correctly in Roda::RodaPlugins" unless plugin = h[name] end plugin end
def self.register_plugin(name, mod)
with a symbol. Should be used by plugin files. Example:
Register the given plugin with Roda, so that it can be loaded using #plugin
def self.register_plugin(name, mod) @plugins[name] = mod end
Modules
- Roda::RodaPlugins::AdditionalRenderEngines
- Roda::RodaPlugins::AdditionalViewDirectories
- Roda::RodaPlugins::AllVerbs
- Roda::RodaPlugins::Assets
- Roda::RodaPlugins::AssetsPreloading
- Roda::RodaPlugins::AssumeSSL
- Roda::RodaPlugins::AutoloadHashBranches
- Roda::RodaPlugins::AutoloadNamedRoutes
- Roda::RodaPlugins::BacktrackingArray
- Roda::RodaPlugins::Base
- Roda::RodaPlugins::Base64_
- Roda::RodaPlugins::BeforeHook
- Roda::RodaPlugins::BranchLocals
- Roda::RodaPlugins::Break
- Roda::RodaPlugins::Caching
- Roda::RodaPlugins::CaptureERB
- Roda::RodaPlugins::Chunked
- Roda::RodaPlugins::ClassLevelRouting
- Roda::RodaPlugins::ClassMatchers
- Roda::RodaPlugins::CommonLogger
- Roda::RodaPlugins::ConditionalSessions
- Roda::RodaPlugins::ContentFor
- Roda::RodaPlugins::ContentSecurityPolicy
- Roda::RodaPlugins::CookieFlags
- Roda::RodaPlugins::Cookies
- Roda::RodaPlugins::Csrf
- Roda::RodaPlugins::CustomBlockResults
- Roda::RodaPlugins::CustomMatchers
- Roda::RodaPlugins::DefaultHeaders
- Roda::RodaPlugins::DefaultStatus
- Roda::RodaPlugins::DelayBuild
- Roda::RodaPlugins::Delegate
- Roda::RodaPlugins::DeleteEmptyHeaders
- Roda::RodaPlugins::DirectCall
- Roda::RodaPlugins::DisallowFileUploads
- Roda::RodaPlugins::DropBody
- Roda::RodaPlugins::EarlyHints
- Roda::RodaPlugins::EmptyRoot
- Roda::RodaPlugins::Environments
- Roda::RodaPlugins::ErbH
- Roda::RodaPlugins::ErrorEmail
- Roda::RodaPlugins::ErrorHandler
- Roda::RodaPlugins::ErrorMail
- Roda::RodaPlugins::ExceptionPage
- Roda::RodaPlugins::FilterCommonLogger
- Roda::RodaPlugins::Flash
- Roda::RodaPlugins::H
- Roda::RodaPlugins::Halt
- Roda::RodaPlugins::HashBranchViewSubdir
- Roda::RodaPlugins::HashBranches
- Roda::RodaPlugins::HashMatcher
- Roda::RodaPlugins::HashPaths
- Roda::RodaPlugins::HashRoutes
- Roda::RodaPlugins::Head
- Roda::RodaPlugins::HeaderMatchers
- Roda::RodaPlugins::Heartbeat
- Roda::RodaPlugins::HmacPaths
- Roda::RodaPlugins::Hooks
- Roda::RodaPlugins::HostAuthorization
- Roda::RodaPlugins::Hsts
- Roda::RodaPlugins::IndifferentParams
- Roda::RodaPlugins::InjectERB
- Roda::RodaPlugins::IntegerMatcherMax
- Roda::RodaPlugins::InvalidRequestBody
- Roda::RodaPlugins::Json
- Roda::RodaPlugins::JsonParser
- Roda::RodaPlugins::LinkTo
- Roda::RodaPlugins::MailProcessor
- Roda::RodaPlugins::Mailer
- Roda::RodaPlugins::MatchAffix
- Roda::RodaPlugins::MatchHook
- Roda::RodaPlugins::MatchHookArgs
- Roda::RodaPlugins::Middleware
- Roda::RodaPlugins::MiddlewareStack
- Roda::RodaPlugins::ModuleInclude
- Roda::RodaPlugins::MultiPublic
- Roda::RodaPlugins::MultiRoute
- Roda::RodaPlugins::MultiRun
- Roda::RodaPlugins::MultiView
- Roda::RodaPlugins::MultibyteStringMatcher
- Roda::RodaPlugins::NamedRoutes
- Roda::RodaPlugins::NamedTemplates
- Roda::RodaPlugins::NotAllowed
- Roda::RodaPlugins::NotFound
- Roda::RodaPlugins::OptimizedMatching
- Roda::RodaPlugins::OptimizedSegmentMatchers
- Roda::RodaPlugins::OptimizedStringMatchers
- Roda::RodaPlugins::PadrinoRender
- Roda::RodaPlugins::ParamMatchers
- Roda::RodaPlugins::ParamsCapturing
- Roda::RodaPlugins::Partials
- Roda::RodaPlugins::Pass
- Roda::RodaPlugins::Path
- Roda::RodaPlugins::PathMatchers
- Roda::RodaPlugins::PathRewriter
- Roda::RodaPlugins::PermissionsPolicy
- Roda::RodaPlugins::PlaceholderStringMatchers
- Roda::RodaPlugins::PlainHashResponseHeaders
- Roda::RodaPlugins::PrecompileTemplates
- Roda::RodaPlugins::Public
- Roda::RodaPlugins::R
- Roda::RodaPlugins::RecheckPrecompiledAssets
- Roda::RodaPlugins::RedirectHttpToHttps
- Roda::RodaPlugins::RelativePath
- Roda::RodaPlugins::Render
- Roda::RodaPlugins::RenderCoverage
- Roda::RodaPlugins::RenderEach
- Roda::RodaPlugins::RenderLocals
- Roda::RodaPlugins::RequestAref
- Roda::RodaPlugins::RequestHeaders
- Roda::RodaPlugins::ResponseRequest
- Roda::RodaPlugins::RouteBlockArgs
- Roda::RodaPlugins::RouteCsrf
- Roda::RodaPlugins::RunAppendSlash
- Roda::RodaPlugins::RunHandler
- Roda::RodaPlugins::RunRequireSlash
- Roda::RodaPlugins::Sessions
- Roda::RodaPlugins::SharedVars
- Roda::RodaPlugins::SinatraHelpers
- Roda::RodaPlugins::SlashPathEmpty
- Roda::RodaPlugins::Static
- Roda::RodaPlugins::StaticRouting
- Roda::RodaPlugins::Status303
- Roda::RodaPlugins::StatusHandler
- Roda::RodaPlugins::Streaming
- Roda::RodaPlugins::StripPathPrefix
- Roda::RodaPlugins::SymbolClassMatchers_
- Roda::RodaPlugins::SymbolMatchers
- Roda::RodaPlugins::SymbolRegexpMatchers
- Roda::RodaPlugins::SymbolStatus
- Roda::RodaPlugins::SymbolViews
- Roda::RodaPlugins::TimestampPublic
- Roda::RodaPlugins::TypeRouting
- Roda::RodaPlugins::TypecastParams
- Roda::RodaPlugins::TypecastParamsSizedIntegers
- Roda::RodaPlugins::UnescapePath
- Roda::RodaPlugins::ViewOptions
Class Methods
Defined in
- lib/roda.rb
- lib/roda/plugins.rb
- lib/roda/plugins/Integer_matcher_max.rb
- lib/roda/plugins/_after_hook.rb
- lib/roda/plugins/_base64.rb
- lib/roda/plugins/_before_hook.rb
- lib/roda/plugins/_optimized_matching.rb
- lib/roda/plugins/_symbol_class_matchers.rb
- lib/roda/plugins/_symbol_regexp_matchers.rb
- lib/roda/plugins/additional_render_engines.rb
- lib/roda/plugins/additional_view_directories.rb
- lib/roda/plugins/all_verbs.rb
- lib/roda/plugins/assets.rb
- lib/roda/plugins/assets_preloading.rb
- lib/roda/plugins/assume_ssl.rb
- lib/roda/plugins/autoload_hash_branches.rb
- lib/roda/plugins/autoload_named_routes.rb
- lib/roda/plugins/backtracking_array.rb
- lib/roda/plugins/branch_locals.rb
- lib/roda/plugins/break.rb
- lib/roda/plugins/caching.rb
- lib/roda/plugins/capture_erb.rb
- lib/roda/plugins/chunked.rb
- lib/roda/plugins/class_level_routing.rb
- lib/roda/plugins/class_matchers.rb
- lib/roda/plugins/common_logger.rb
- lib/roda/plugins/conditional_sessions.rb
- lib/roda/plugins/content_for.rb
- lib/roda/plugins/content_security_policy.rb
- lib/roda/plugins/cookie_flags.rb
- lib/roda/plugins/cookies.rb
- lib/roda/plugins/csrf.rb
- lib/roda/plugins/custom_block_results.rb
- lib/roda/plugins/custom_matchers.rb
- lib/roda/plugins/default_headers.rb
- lib/roda/plugins/default_status.rb
- lib/roda/plugins/delay_build.rb
- lib/roda/plugins/delegate.rb
- lib/roda/plugins/delete_empty_headers.rb
- lib/roda/plugins/direct_call.rb
- lib/roda/plugins/disallow_file_uploads.rb
- lib/roda/plugins/drop_body.rb
- lib/roda/plugins/early_hints.rb
- lib/roda/plugins/empty_root.rb
- lib/roda/plugins/environments.rb
- lib/roda/plugins/erb_h.rb
- lib/roda/plugins/error_email.rb
- lib/roda/plugins/error_handler.rb
- lib/roda/plugins/error_mail.rb
- lib/roda/plugins/exception_page.rb
- lib/roda/plugins/filter_common_logger.rb
- lib/roda/plugins/flash.rb
- lib/roda/plugins/h.rb
- lib/roda/plugins/halt.rb
- lib/roda/plugins/hash_branch_view_subdir.rb
- lib/roda/plugins/hash_branches.rb
- lib/roda/plugins/hash_matcher.rb
- lib/roda/plugins/hash_paths.rb
- lib/roda/plugins/hash_routes.rb
- lib/roda/plugins/head.rb
- lib/roda/plugins/header_matchers.rb
- lib/roda/plugins/heartbeat.rb
- lib/roda/plugins/hmac_paths.rb
- lib/roda/plugins/hooks.rb
- lib/roda/plugins/host_authorization.rb
- lib/roda/plugins/hsts.rb
- lib/roda/plugins/indifferent_params.rb
- lib/roda/plugins/inject_erb.rb
- lib/roda/plugins/invalid_request_body.rb
- lib/roda/plugins/json.rb
- lib/roda/plugins/json_parser.rb
- lib/roda/plugins/link_to.rb
- lib/roda/plugins/mail_processor.rb
- lib/roda/plugins/mailer.rb
- lib/roda/plugins/match_affix.rb
- lib/roda/plugins/match_hook.rb
- lib/roda/plugins/match_hook_args.rb
- lib/roda/plugins/middleware.rb
- lib/roda/plugins/middleware_stack.rb
- lib/roda/plugins/module_include.rb
- lib/roda/plugins/multi_public.rb
- lib/roda/plugins/multi_route.rb
- lib/roda/plugins/multi_run.rb
- lib/roda/plugins/multi_view.rb
- lib/roda/plugins/multibyte_string_matcher.rb
- lib/roda/plugins/named_routes.rb
- lib/roda/plugins/named_templates.rb
- lib/roda/plugins/not_allowed.rb
- lib/roda/plugins/not_found.rb
- lib/roda/plugins/optimized_segment_matchers.rb
- lib/roda/plugins/optimized_string_matchers.rb
- lib/roda/plugins/padrino_render.rb
- lib/roda/plugins/param_matchers.rb
- lib/roda/plugins/params_capturing.rb
- lib/roda/plugins/partials.rb
- lib/roda/plugins/pass.rb
- lib/roda/plugins/path.rb
- lib/roda/plugins/path_matchers.rb
- lib/roda/plugins/path_rewriter.rb
- lib/roda/plugins/permissions_policy.rb
- lib/roda/plugins/placeholder_string_matchers.rb
- lib/roda/plugins/plain_hash_response_headers.rb
- lib/roda/plugins/precompile_templates.rb
- lib/roda/plugins/public.rb
- lib/roda/plugins/r.rb
- lib/roda/plugins/recheck_precompiled_assets.rb
- lib/roda/plugins/redirect_http_to_https.rb
- lib/roda/plugins/relative_path.rb
- lib/roda/plugins/render.rb
- lib/roda/plugins/render_coverage.rb
- lib/roda/plugins/render_each.rb
- lib/roda/plugins/render_locals.rb
- lib/roda/plugins/request_aref.rb
- lib/roda/plugins/request_headers.rb
- lib/roda/plugins/response_request.rb
- lib/roda/plugins/route_block_args.rb
- lib/roda/plugins/route_csrf.rb
- lib/roda/plugins/run_append_slash.rb
- lib/roda/plugins/run_handler.rb
- lib/roda/plugins/run_require_slash.rb
- lib/roda/plugins/sessions.rb
- lib/roda/plugins/shared_vars.rb
- lib/roda/plugins/sinatra_helpers.rb
- lib/roda/plugins/slash_path_empty.rb
- lib/roda/plugins/static.rb
- lib/roda/plugins/static_routing.rb
- lib/roda/plugins/status_303.rb
- lib/roda/plugins/status_handler.rb
- lib/roda/plugins/streaming.rb
- lib/roda/plugins/strip_path_prefix.rb
- lib/roda/plugins/symbol_matchers.rb
- lib/roda/plugins/symbol_status.rb
- lib/roda/plugins/symbol_views.rb
- lib/roda/plugins/timestamp_public.rb
- lib/roda/plugins/type_routing.rb
- lib/roda/plugins/typecast_params.rb
- lib/roda/plugins/typecast_params_sized_integers.rb
- lib/roda/plugins/unescape_path.rb
- lib/roda/plugins/view_options.rb
- lib/roda/request.rb
- lib/roda/response.rb