Class: Hypernova::Plugin::ServerStacktrace

Inherits:
Object
  • Object
show all
Defined in:
lib/hypernova/plugin/server_stacktrace.rb,
lib/hypernova/plugin/server_stacktrace/version.rb

Constant Summary collapse

VERSION =
"0.1.1"

Instance Method Summary collapse

Constructor Details

#initialize(logger) ⇒ ServerStacktrace

Returns a new instance of ServerStacktrace.



8
9
10
# File 'lib/hypernova/plugin/server_stacktrace.rb', line 8

def initialize(logger)
  @logger = logger
end

Instance Method Details

#after_response(current_response, _original_response) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/hypernova/plugin/server_stacktrace.rb', line 12

def after_response(current_response, _original_response)
  current_response.tap do |hash|
    hash
      .map { |name, result| [name, result.dig("error", "stack")] }
      .select { |_, stack_trace| stack_trace }
      .each { |name, stack_trace| log(name, stack_trace) }
  end
end