Sha256: 70ada6086eb2a95771775f42a32893447ceff5af2565ac31b57103d4e95b6faf

Contents?: true

Size: 611 Bytes

Versions: 26

Compression:

Stored size: 611 Bytes

Contents

module Sentry
  class Interface
    def self.inherited(klass)
      name = klass.name.split("::").last.downcase.gsub("interface", "")
      registered[name.to_sym] = klass
      super
    end

    def self.registered
      @@registered ||= {} # rubocop:disable Style/ClassVars
    end

    def to_hash
      Hash[instance_variables.map { |name| [name[1..-1].to_sym, instance_variable_get(name)] }]
    end
  end
end

require "sentry/interfaces/exception"
require "sentry/interfaces/request"
require "sentry/interfaces/single_exception"
require "sentry/interfaces/stacktrace"
require "sentry/interfaces/threads"

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
sentry-ruby-core-4.8.0 lib/sentry/interface.rb
sentry-ruby-core-4.7.3 lib/sentry/interface.rb
sentry-ruby-core-4.7.2 lib/sentry/interface.rb
sentry-ruby-core-4.7.1 lib/sentry/interface.rb
sentry-ruby-core-4.7.0 lib/sentry/interface.rb
sentry-ruby-core-4.6.5 lib/sentry/interface.rb
sentry-ruby-core-4.6.4 lib/sentry/interface.rb
sentry-ruby-core-4.6.3 lib/sentry/interface.rb
sentry-ruby-core-4.6.2 lib/sentry/interface.rb
sentry-ruby-core-4.6.1 lib/sentry/interface.rb
sentry-ruby-core-4.6.0 lib/sentry/interface.rb
sentry-ruby-core-4.6.0.pre.beta.0 lib/sentry/interface.rb
sentry-ruby-core-4.5.2 lib/sentry/interface.rb
sentry-ruby-core-4.5.1 lib/sentry/interface.rb
sentry-ruby-core-4.5.0 lib/sentry/interface.rb
sentry-ruby-core-4.5.0.pre.beta.1 lib/sentry/interface.rb
sentry-ruby-core-4.4.2 lib/sentry/interface.rb
sentry-ruby-core-4.4.1 lib/sentry/interface.rb
sentry-ruby-core-4.4.0 lib/sentry/interface.rb
sentry-ruby-core-4.4.0.pre.beta.0 lib/sentry/interface.rb