Module: Veto::Validator::ClassMethods

Defined in:
lib/veto/validator.rb

Instance Method Summary collapse

Instance Method Details

#valid?(*args) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/veto/validator.rb', line 57

def valid? *args
  new(*args).valid?
end

#validate(*args) ⇒ Object



20
21
22
# File 'lib/veto/validator.rb', line 20

def validate *args
  builder.validate(*args)
end

#validate!(*args) ⇒ Object

Raises exception if entity is invalid

Examples:

person = Person.new
PersonValidator.validate!(person) # => Veto::InvalidEntity, ["first name is not present", "..."]    

Parameters:

  • entity (Object)

    the entity instance to be validated.

Raises:



69
70
71
# File 'lib/veto/validator.rb', line 69

def validate! *args
  new(*args).validate!
end

#validate_with(*validator_set) ⇒ Object

Used to add a validator, or set of validators, to the validators list. Generally used by the ‘validates` and `validate` methods internally.

Examples:

PersonValidator.validates_with PresenceValidator.new(:first_name)
  # OR
PersonValidator.validates_with PresenceValidator.new(:first_name), IntegerValidator.new(:age)

Parameters:

  • validator_set (Array)

    A single, or list, of validator instances



34
35
36
# File 'lib/veto/validator.rb', line 34

def validate_with *validator_set
  validators.concat validator_set.flatten
end

#validates(*args) ⇒ Object



16
17
18
# File 'lib/veto/validator.rb', line 16

def validates *args
  builder.validates(*args)
end

#validatorsArray

Memoizes a flat list of internal validator instances that will perform validations on the assigned entity.

Examples:

PersonValidator.validators # => [
    <Veto::FormatValidator:0xXXXXXX @attribute=#<Mock:0xXXXXXX>, @options=#<Mock:0xXXXXXX>>,
    <Veto::PresenceValidator:0xXXXXXX @attribute=#<Mock:0xXXXXXX>, @options=#<Mock:0xXXXXXX>>,
    <Veto::ExactLengthValidator:0xXXXXXX @attribute=#<Mock:0xXXXXXX>, @options=#<Mock:0xXXXXXX>>]

Returns:

  • (Array)


48
49
50
# File 'lib/veto/validator.rb', line 48

def validators
  @validators ||= []
end

#with_options(*args, &block) ⇒ Object



12
13
14
# File 'lib/veto/validator.rb', line 12

def with_options *args, &block
  builder.with_options(*args, &block)
end