Module: Sqreen::Dependency::Rails

Defined in:
lib/sqreen/dependency/rails.rb

Class Method Summary collapse

Class Method Details

.insert_sqreen_middlewaresObject



30
31
32
33
34
35
36
37
# File 'lib/sqreen/dependency/rails.rb', line 30

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

.inspect_middlewaresObject



24
25
26
27
28
# File 'lib/sqreen/dependency/rails.rb', line 24

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

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

.required?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/sqreen/dependency/rails.rb', line 16

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

.server?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/sqreen/dependency/rails.rb', line 20

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