class RailsMiddlewareLog::Log
Public Class Methods
before_call(k_class, env)
click to toggle source
# File lib/rails_middleware_log/log.rb, line 33 def before_call(k_class, env) if config_url_match?(env['PATH_INFO']) if block = RailsMiddlewareLog.config.before_middleware block.call(k_class, env) else Rails.logger.info "-------#{k_class.name}" end end end
call(env)
click to toggle source
# File lib/rails_middleware_log/log.rb, line 12 def call(env) RailsMiddlewareLog::Log.before_call(self.class, env) old_call(env) end
config_url_match?(url)
click to toggle source
check current request
# File lib/rails_middleware_log/log.rb, line 44 def config_url_match?(url) target_urls = RailsMiddlewareLog.config.target_urls case target_urls when true true when String target_urls == url when Array target_urls.include? url when Regexp target_urls === url else false end end
init(middlewares)
click to toggle source
# File lib/rails_middleware_log/log.rb, line 5 def init(middlewares) middlewares.each do |middleware| klass = middleware_class(middleware) if klass && klass.method_defined?(:call) klass.class_eval do alias_method :old_call, :call def call(env) RailsMiddlewareLog::Log.before_call(self.class, env) old_call(env) end end end end end
middleware_class(middleware)
click to toggle source
get the current middleware class
# File lib/rails_middleware_log/log.rb, line 22 def middleware_class(middleware) case middleware.klass when ActiveSupport::Cache::Strategy::LocalCache::Middleware middleware.klass.class when Class middleware.klass else nil end end