Sha256: 903a78342cc759597b55ca72214c7fcd2e201ccca7a18bbd2b442a5dcbae3c57

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

require 'rails'
require_relative 'rails_options'
require_relative 'action_controller_helpers'

module Rack
  module DevMark
    class Railtie < Rails::Railtie
      config.rack_dev_mark = RailsOptions.new

      initializer "rack-dev-mark.insert_middleware" do |app|
        if app.config.rack_dev_mark.enable || Rack::DevMark.rack_dev_mark_env
          racks = []

          insert_type = app.config.rack_dev_mark.insert_type
          insert_method = insert_type[0] || 'insert_before'
          racks << (insert_type[1] || ActionDispatch::ShowExceptions)

          racks << Rack::DevMark::Middleware
          if theme = app.config.rack_dev_mark.theme || app.config.rack_dev_mark.custom_theme
            racks << theme
          end

          app.config.app_middleware.send(insert_method, *racks)
        end
      end

      initializer "rack-dev-mark.set_env", after: "rack-dev-mark.insert_middleware" do |app|
        if app.config.rack_dev_mark.enable || Rack::DevMark.rack_dev_mark_env
          Rack::DevMark.env = app.config.rack_dev_mark.env
        end
      end

      initializer "rack-dev-mark.load_controller_helpers", after: "rack-dev-mark.insert_middleware" do |app|
        ActiveSupport.on_load :action_controller do
          include Rack::DevMark::ActionControllerHelpers
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rack-dev-mark-0.7.5 lib/rack/dev-mark/railtie.rb
rack-dev-mark-0.7.4 lib/rack/dev-mark/railtie.rb
rack-dev-mark-0.7.3 lib/rack/dev-mark/railtie.rb