class WeakHeaders::Validator

Public Class Methods

new(controller, &block) click to toggle source
# File lib/weak_headers/validator.rb, line 3
def initialize(controller, &block)
  @controller = controller
  instance_eval(&block)
end

Public Instance Methods

validate() click to toggle source
# File lib/weak_headers/validator.rb, line 8
def validate
  validators.each(&:validate)
end
validators() click to toggle source
# File lib/weak_headers/validator.rb, line 12
def validators
  @validators ||= []
end

Private Instance Methods

optional(key, options = {}, &block) click to toggle source
# File lib/weak_headers/validator.rb, line 34
def optional(key, options = {}, &block)
  validators << WeakHeaders::OptionalValidator.new(@controller, key, options, &block)
end
requires(key, options = {}, &block) click to toggle source
# File lib/weak_headers/validator.rb, line 30
def requires(key, options = {}, &block)
  validators << WeakHeaders::RequiresValidator.new(@controller, key, options, &block)
end
with_validators(&block) click to toggle source
# File lib/weak_headers/validator.rb, line 18
def with_validators(&block)
  old_validators = @validators

  begin
    @validators = []
    block.call
    @validators
  ensure
    @validators = old_validators
  end
end