module Roda::RodaPlugins::Endpoints

Endpoints plugin for {Roda}

Public Class Methods

configure(app, container: app, **opts) click to toggle source

@param [Class(Roda)] app @param [Hash] opts

# File lib/roda/plugins/endpoints.rb, line 30
def self.configure(app, container: app, **opts)
  opts = (app.opts[:endpoints] || {}).merge(opts)
  unless container.respond_to? :resolve
    require 'dry-container'
    container.extend Dry::Container::Mixin
  end
  app.opts[:endpoints] = opts.merge(container: container)
  Roda::Endpoints.roda_class ||= app
end
load_dependencies(app, **_opts) click to toggle source

@param [Class(Roda)] app

# File lib/roda/plugins/endpoints.rb, line 14
def self.load_dependencies(app, **_opts)
  app.plugin :all_verbs
  app.plugin :head
  app.plugin :caching
  app.plugin :monads
  app.plugin :symbol_status
  app.plugin :symbol_matchers
  app.plugin :slash_path_empty
  app.plugin :json_parser
  app.plugin :indifferent_params
  app.plugin :json, classes: [Array, Hash, ROM::Struct]
  app.plugin :flow
end