class RackPassword::BlockValidator

Attributes

options[RW]
request[RW]

Public Class Methods

new(options, request) click to toggle source
# File lib/rack_password.rb, line 45
def initialize options, request
  @options = options
  @request = request
end

Public Instance Methods

valid?() click to toggle source
# File lib/rack_password.rb, line 50
def valid?
  valid_path? || valid_code?(@request.cookies[@options[:key].to_s]) || valid_ip? || valid_custom_rule?
end
valid_code?(code) click to toggle source
# File lib/rack_password.rb, line 63
def valid_code? code
  return false if @options[:auth_codes].nil?
  @options[:auth_codes].include? code
end
valid_custom_rule?() click to toggle source
# File lib/rack_password.rb, line 68
def valid_custom_rule?
  return false if @options[:custom_rule].nil?
  !!@options[:custom_rule].call(@request)
end
valid_ip?() click to toggle source
# File lib/rack_password.rb, line 54
def valid_ip?
  return false if @options[:ip_whitelist].nil?
  @options[:ip_whitelist].include? @request.ip.to_s
end
valid_path?() click to toggle source
# File lib/rack_password.rb, line 59
def valid_path?
  !!(@request.path =~ @options[:path_whitelist])
end