Module: LevoRailsmiddleware

Defined in:
lib/levo_rails_middleware.rb,
lib/levo_rails_middleware/entry.rb,
lib/levo_rails_middleware/sender.rb,
lib/levo_rails_middleware/version.rb,
lib/levo_rails_middleware/middleware.rb,
lib/levo_rails_middleware/configuration.rb

Defined Under Namespace

Classes: Configuration, Entry, Middleware, Sender

Constant Summary collapse

VERSION =
"0.1.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Access the configuration



14
15
16
# File 'lib/levo_rails_middleware.rb', line 14

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Configure the middleware

Yields:



19
20
21
# File 'lib/levo_rails_middleware.rb', line 19

def configure
  yield(configuration) if block_given?
end

.instrument(app_config) ⇒ Object

Add middleware to Rails application



24
25
26
27
# File 'lib/levo_rails_middleware.rb', line 24

def instrument(app_config)
  # Use the class constant instead of a string
  app_config.middleware.use LevoRailsmiddleware::Middleware  # Changed from insert_before with string
end

.log_exception(context, exception) ⇒ Object

Log exceptions



30
31
32
33
34
35
# File 'lib/levo_rails_middleware.rb', line 30

def log_exception(context, exception)
  Rails.logger.error "LEVO_middleware: Exception while #{context}: #{exception.message} (#{exception.class.name})"
  exception.backtrace&.each do |line|
    Rails.logger.error "LEVO_middleware:   #{line}"
  end
end