module MultiBug

Constants

SUPPORTED_ADAPTERS

Public Instance Methods

adapter() click to toggle source
# File lib/multi_bug.rb, line 19
def adapter
  return @adapter if defined?(@adapter)

  # TODO: Add adapter from config here
  load_adapter(default_adapter)
end
adapter=(adapter)
Alias for: use_adapter
default_adapter() click to toggle source
# File lib/multi_bug.rb, line 32
def default_adapter
  return :airbrake if defined?(::Airbrake)
  return :bugsnag if defined?(::Bugsnag)

  SUPPORTED_ADAPTERS.each do |adapter, gem_name|
    require gem_name
    return adapter
  end

  # TODO: Return default adapter here
end
notify(exception, options = {}) click to toggle source
# File lib/multi_bug.rb, line 28
def notify(exception, options = {})
  adapter.notify(exception, options)
end
use_adapter(adapter) click to toggle source
# File lib/multi_bug.rb, line 8
def use_adapter(adapter)
  @adapter = case adapter
             when String, Symbol
               load_adapter(adapter.to_s)
             when Class, Module
               adapter
             else
               load_adapter(default_adapter)
             end
end
Also aliased as: adapter=

Private Instance Methods

load_adapter(name) click to toggle source
# File lib/multi_bug.rb, line 46
def load_adapter(name)
  require "multi_bug/adapters/#{name.downcase}"

  MultiBug::Adapters.const_get(name.capitalize)
end