Sha256: d9e7dbb01647529666783160ac72aa2101f379e6e0dea740749530c77200a3f7

Contents?: true

Size: 1.27 KB

Versions: 39

Compression:

Stored size: 1.27 KB

Contents

# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

require 'sqreen/shrink_wrap'
require 'sqreen/middleware'
require 'sqreen/error_handling_middleware'
require 'sqreen/rails_middleware'

module Sqreen
  module Dependency
    module Rails
      module_function

      def required?
        Sqreen::Dependency.const_exist?('Rails::Application')
      end

      def server?
        Sqreen::Dependency.const_exist?('Rails::Server') && ObjectSpace.each_object(::Rails::Server).count > 0
      end

      def inspect_middlewares
        return unless ::Rails.application.middleware.respond_to?(:map)

        Sqreen.log.debug { "Middlewares: " << ::Rails.application.middleware.map(&:inspect).inspect }
      end

      def insert_sqreen_middlewares
        Sqreen.log.debug { 'Inserting Sqreen middlewares for Rails' }
        app = ::Rails.application
        app.middleware.insert(0, Sqreen::ShrinkWrap)
        app.middleware.insert_after(::Rack::Runtime, Sqreen::Middleware)
        app.middleware.insert_after(::ActionDispatch::DebugExceptions, Sqreen::RailsMiddleware)
        app.middleware.insert_after(::ActionDispatch::DebugExceptions, Sqreen::ErrorHandlingMiddleware)
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
sqreen-1.25.1 lib/sqreen/dependency/rails.rb
sqreen-1.25.0 lib/sqreen/dependency/rails.rb
sqreen-1.24.3 lib/sqreen/dependency/rails.rb
sqreen-1.24.2 lib/sqreen/dependency/rails.rb
sqreen-1.24.1 lib/sqreen/dependency/rails.rb
sqreen-1.24.0 lib/sqreen/dependency/rails.rb
sqreen-1.23.2 lib/sqreen/dependency/rails.rb
sqreen-1.23.1 lib/sqreen/dependency/rails.rb
sqreen-1.23.0 lib/sqreen/dependency/rails.rb
sqreen-1.22.1 lib/sqreen/dependency/rails.rb
sqreen-1.22.0-java lib/sqreen/dependency/rails.rb
sqreen-1.22.0 lib/sqreen/dependency/rails.rb
sqreen-1.21.1-java lib/sqreen/dependency/rails.rb
sqreen-1.21.1 lib/sqreen/dependency/rails.rb
sqreen-1.21.0-java lib/sqreen/dependency/rails.rb
sqreen-1.21.0 lib/sqreen/dependency/rails.rb
sqreen-1.20.4-java lib/sqreen/dependency/rails.rb
sqreen-1.20.4 lib/sqreen/dependency/rails.rb
sqreen-1.21.0.beta3-java lib/sqreen/dependency/rails.rb
sqreen-1.21.0.beta3 lib/sqreen/dependency/rails.rb