class Wonk::PolicyValidators::Validator

Public Class Methods

new(parameters) click to toggle source
# File lib/wonk/policy_validators/validator.rb, line 6
def initialize(parameters)
  raise "#{self.class.name} can't be directly initialized."
end

Public Instance Methods

authenticate_from_submission(submission) click to toggle source
# File lib/wonk/policy_validators/validator.rb, line 14
def authenticate_from_submission(submission)
  if !submission.key?(:authentication_type)
    ValidatorResult.new(successful: false, environment: {})
  else
    if submission[:authentication_type] == validator_name
      begin
        do_authenticate(submission)
      rescue ValidatorError => err
        Wonk.logger.warn "Validator failed with reason: #{err.message}"
        ValidatorResult.new(successful: false, environment: {})
      rescue StandardError => err
        Wonk.logger.error "Unrecognized error rescued from validator #{self.class.name}: #{err}"
        ValidatorResult.new(successful: false, environment: {})
      end
    else
      ValidatorResult.new(successful: false, environment: {})
    end
  end
end
do_authenticate(submission) click to toggle source
# File lib/wonk/policy_validators/validator.rb, line 34
def do_authenticate(submission)
  raise "#{self.class.name}#do_authenticate(request) must be implemented."
end
validator_name() click to toggle source
# File lib/wonk/policy_validators/validator.rb, line 10
def validator_name
  raise "#{self.class.name}#validator_name must be implemented."
end