Module: Airbadger::ProxyingErrorCollector

Defined in:
lib/airbadger/proxying_error_collector.rb

Constant Summary collapse

PROXY_METHODS =
[:notify, :notify_or_ignore]

Class Method Summary collapse

Class Method Details

.extend_object(error_collector) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/airbadger/proxying_error_collector.rb', line 4

def self.extend_object(error_collector)
  class << error_collector
    Airbadger::ProxyingErrorCollector::PROXY_METHODS.each do |method_name|
      define_method "#{method_name}_with_proxy" do |*args|
        Airbadger::ERROR_COLLECTORS.each do |proxied_collector|
          proxied_collector.send("#{method_name}_without_proxy", *args)
        end
      end

      alias_method "#{method_name}_without_proxy", method_name
      alias_method method_name, "#{method_name}_with_proxy"
    end
  end
end