Class: Lite::Validation::Validator::Predicate::Native::Instance

Inherits:
Object
  • Object
show all
Includes:
Abstract::Variants, Ruling::Constructors
Defined in:
lib/lite/validation/validator/predicate/native/instance.rb

Direct Known Subclasses

Definite, Optional

Instance Method Summary collapse

Methods included from Abstract::Variants

#definite, #optional

Methods included from Ruling::Constructors

#Commit, #Dispute, #Invalidate, #Pass, #Refute

Constructor Details

#initialize(proc, severity: nil) ⇒ Instance

Returns a new instance of Instance.



17
18
19
# File 'lib/lite/validation/validator/predicate/native/instance.rb', line 17

def initialize(proc, severity: nil)
  super
end

Instance Method Details

#call(*args, **opts) ⇒ Object

Raises:



29
30
31
32
33
34
35
# File 'lib/lite/validation/validator/predicate/native/instance.rb', line 29

def call(*args, **opts)
  raise Error::Fatal, 'Level not set' unless severity

  ruling = instance_exec(*args, **opts, &proc)
  ruling = Pass() if ruling.nil?
  ruling.invalid { |invalid| invalid.send(severity) }
end

#disputeObject



21
22
23
# File 'lib/lite/validation/validator/predicate/native/instance.rb', line 21

def dispute
  with(severity: :dispute)
end

#refuteObject



25
26
27
# File 'lib/lite/validation/validator/predicate/native/instance.rb', line 25

def refute
  with(severity: :refute)
end