class ApipieDSL::Validator::ProcValidator

Public Class Methods

build(param_description, argument, _options, _block) click to toggle source
# File lib/apipie_dsl/validator.rb, line 286
def self.build(param_description, argument, _options, _block)
  return if !argument.is_a?(Proc) || argument.arity != 1

  new(param_description, argument)
end
new(param_description, argument) click to toggle source
Calls superclass method ApipieDSL::Validator::BaseValidator.new
# File lib/apipie_dsl/validator.rb, line 275
def initialize(param_description, argument)
  super(param_description)
  @proc = argument
end

Public Instance Methods

description() click to toggle source
# File lib/apipie_dsl/validator.rb, line 292
def description
  @help
end
validate(value) click to toggle source
# File lib/apipie_dsl/validator.rb, line 280
def validate(value)
  # The proc should return true if value is valid
  # Otherwise it should return a string
  !(@help = @proc.call(value)).is_a?(String)
end