class Orbit::Interceptors::List

Attributes

interceptors[R]

Public Class Methods

add_interceptor(path, interceptor_class, excludes=[]) click to toggle source
# File lib/orbit/interceptors/list.rb, line 11
def self.add_interceptor(path, interceptor_class, excludes=[])
  interceptor = Item.new(path, interceptor_class, excludes)

  instance.interceptors.push(interceptor)
end
intercept_path(request) click to toggle source
# File lib/orbit/interceptors/list.rb, line 29
def self.intercept_path(request)
  path = request.path_info

  instance.interceptors_for_path(path).each do |hash|
    result = hash.interceptor_class.execute(request)

    return result if result
  end

  nil
end
interceptors() click to toggle source
# File lib/orbit/interceptors/list.rb, line 17
def self.interceptors
  instance.interceptors
end
new(interceptors=[]) click to toggle source
# File lib/orbit/interceptors/list.rb, line 7
def initialize(interceptors=[])
  @interceptors = interceptors
end

Public Instance Methods

interceptors_for_path(path) click to toggle source
# File lib/orbit/interceptors/list.rb, line 21
def interceptors_for_path(path)
  return [] unless path

  interceptors.select do |item|
    item.match_path?(path)
  end
end