class Opbeat::Injections::Sinatra::Injector

Public Instance Methods

compile_template(engine, data, opts, *args, &block) click to toggle source
# File lib/opbeat/injections/sinatra.rb, line 19
def compile_template engine, data, opts, *args, &block
  case data
  when Symbol
    opts[:__opbeat_template_sig] = data.to_s
  else
    opts[:__opbeat_template_sig] = "Inline #{engine}"
  end

  compile_template_with_opb(engine, data, opts, *args, &block)
end
dispatch!(*args, &block) click to toggle source
# File lib/opbeat/injections/sinatra.rb, line 10
def dispatch!(*args, &block)
  dispatch_without_opb!(*args, &block).tap do
    transaction = Opbeat.transaction(nil)
    if route = env['sinatra.route'] and transaction
      transaction.endpoint = route
    end
  end
end
install() click to toggle source
# File lib/opbeat/injections/sinatra.rb, line 5
def install
  ::Sinatra::Base.class_eval do
    alias dispatch_without_opb! dispatch!
    alias compile_template_with_opb compile_template

    def dispatch!(*args, &block)
      dispatch_without_opb!(*args, &block).tap do
        transaction = Opbeat.transaction(nil)
        if route = env['sinatra.route'] and transaction
          transaction.endpoint = route
        end
      end
    end

    def compile_template engine, data, opts, *args, &block
      case data
      when Symbol
        opts[:__opbeat_template_sig] = data.to_s
      else
        opts[:__opbeat_template_sig] = "Inline #{engine}"
      end

      compile_template_with_opb(engine, data, opts, *args, &block)
    end
  end
end