class Airbrake::Filters::DependencyFilter
Attaches loaded dependencies to the notice object.
@api private @since v2.10.0
Public Class Methods
new()
click to toggle source
# File lib/airbrake-ruby/filters/dependency_filter.rb, line 8 def initialize @weight = 117 end
Public Instance Methods
call(notice)
click to toggle source
@macro call_filter
# File lib/airbrake-ruby/filters/dependency_filter.rb, line 13 def call(notice) deps = {} Gem.loaded_specs.map.with_object(deps) do |(name, spec), h| h[name] = "#{spec.version}#{git_version(spec)}" end notice[:context][:versions] = {} unless notice[:context].key?(:versions) notice[:context][:versions][:dependencies] = deps end
Private Instance Methods
git_version(spec)
click to toggle source
# File lib/airbrake-ruby/filters/dependency_filter.rb, line 25 def git_version(spec) return unless spec.respond_to?(:git_version) || spec.git_version spec.git_version.to_s end