module Racket::Settings::Defaults

Module used for storing default values.

Public Class Methods

application_defaults() click to toggle source

Returns a Racke::Registry object containing application defaults.

@return [Racket::Registry]

# File lib/racket/settings/defaults.rb, line 29
def self.application_defaults
  Racket::Registry.with_map(
    default_action: -> { :index },
    default_content_type: -> { 'text/html' },
    default_controller_helpers: -> { [:routing, :view] },
    default_layout: nil_block,
    default_view: nil_block,
    logger: -> { Logger.new($stdout) },
    middleware: array_block,
    mode: -> { :live },
    plugins: array_block,
    session_handler: session_handler,
    root_dir: -> { Dir.pwd },
    template_settings: template_settings,
    warmup_urls: -> { Set.new }
  )
end

Private Class Methods

array_block() click to toggle source
# File lib/racket/settings/defaults.rb, line 47
def self.array_block
  -> { [] }
end
nil_block() click to toggle source
# File lib/racket/settings/defaults.rb, line 51
def self.nil_block
  -> { nil }
end
session_handler() click to toggle source
# File lib/racket/settings/defaults.rb, line 55
def self.session_handler
  lambda do
    [
      Rack::Session::Cookie,
      {
        key: 'racket.session',
        old_secret: SecureRandom.hex(16),
        secret: SecureRandom.hex(16)
      }
    ]
  end
end
template_settings() click to toggle source
# File lib/racket/settings/defaults.rb, line 68
def self.template_settings
  lambda do
    {
      common: {},
      layout: {},
      view: {}
    }
  end
end