Class: Formulario::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/formulario/validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(&validation_block) ⇒ Validator

Returns a new instance of Validator.



4
5
6
# File 'lib/formulario/validator.rb', line 4

def initialize(&validation_block)
  @validation_block = validation_block if block_given?
end

Instance Method Details

#call(value:, field_name: nil, object: nil) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/formulario/validator.rb', line 8

def call(value:, field_name: nil, object: nil)
  @value      = value
  @field_name = field_name
  @object     = object
  @valid      = object.instance_exec(value, &validation_block)
  @validated  = true

  self
end

#messageObject



28
29
30
# File 'lib/formulario/validator.rb', line 28

def message
  valid? ? '' : failure_text.to_s
end

#on_invalidObject



38
39
40
41
42
# File 'lib/formulario/validator.rb', line 38

def on_invalid
  yield unless valid?

  self
end

#on_validObject



32
33
34
35
36
# File 'lib/formulario/validator.rb', line 32

def on_valid
  yield if valid?

  self
end

#to_procObject



18
19
20
# File 'lib/formulario/validator.rb', line 18

def to_proc
  method(:call)
end

#valid?Boolean

Returns:

  • (Boolean)

Raises:

  • (ValidationNotPerformed)


22
23
24
25
26
# File 'lib/formulario/validator.rb', line 22

def valid?
  raise ValidationNotPerformed unless validated?

  valid
end