module ActiveLdap::ActionController::LdapBenchmarking

Public Class Methods

included(base) click to toggle source
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 4
def self.included(base)
  base.class_eval do
    alias_method_chain :render_with_benchmark, :active_ldap
    if private_method_defined?(:view_runtime)
      alias_method_chain :view_runtime, :active_ldap
    else
      alias_method_chain :rendering_runtime, :active_ldap
    end
  end
end

Protected Instance Methods

render_with_benchmark_with_active_ldap(*args, &block) click to toggle source
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 16
def render_with_benchmark_with_active_ldap(*args, &block)
  if logger
    ldap_runtime_before_render = ActiveLdap::Base.reset_runtime
  end
  result = render_with_benchmark_without_active_ldap(*args, &block)
  if logger
    @ldap_runtime_before_render = ldap_runtime_before_render
    @ldap_runtime_after_render = ActiveLdap::Base.reset_runtime
    if defined?(@rendering_runtime)
      @rendering_runtime -= @ldap_runtime_after_render
    else
      @view_runtime -= @ldap_runtime_after_render
    end
  end
  result
end