Sha256: 1ad875342b52a26e0fd29635bea6793e70b6d9bf486293d6def430c45089c577

Contents?: true

Size: 1.2 KB

Versions: 2

Compression:

Stored size: 1.2 KB

Contents

require "clearance"
require "rails"

module Clearance
  # Makes Clearance behavior available to Rails apps on initialization. By using
  # a Rails Engine rather than a Railtie, Clearance can automatically expose its
  # own routes and views to the hosting application.
  #
  # Requiring `clearance` (likely by having it in your `Gemfile`) will
  # automatically require the engine. You can opt-out of Clearance's internal
  # routes by using {Configuration#routes=}. You can override the Clearance
  # views by running `rails generate clearance:views`.
  #
  # In addition to providing routes and views, the Clearance engine:
  #
  # * Ensures `password` and `token` parameters are filtered out of Rails logs.
  # * Mounts the {RackSession} middleware in the appropriate location
  # * Reloads classes referenced in your {Configuration} on every request in
  #   development mode.
  #
  class Engine < Rails::Engine
    initializer "clearance.filter" do |app|
      app.config.filter_parameters += [:password, :token]
    end

    config.app_middleware.insert_after(
      ActionDispatch::ParamsParser,
      Clearance::RackSession
    )

    config.to_prepare do
      Clearance.configuration.reload_user_model
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clearance-1.12.1 lib/clearance/engine.rb
clearance-1.12.0 lib/clearance/engine.rb