module Opbeat::TraceHelpers::ClassMethods

Public Instance Methods

trace_class_method(method, signature, kind) click to toggle source
# File lib/opbeat/trace_helpers.rb, line 4
def trace_class_method method, signature, kind
  __trace_method_on(singleton_class, method, signature, kind)
end

Private Instance Methods

__trace_method_on(klass, method, signature, kind) click to toggle source
# File lib/opbeat/trace_helpers.rb, line 10
      def __trace_method_on(klass, method, signature, kind)
        klass.class_eval <<-RUBY, __FILE__, __LINE__ + 1
          alias :"__without_opb_#{method}" :"#{method}"

          def #{method}(*args, &block)
            Opbeat.trace "#{signature}", "#{kind}" do
              __without_opb_#{method}(*args, &block)
            end
          end
        RUBY
      end