Class: Objecheck::Validator::SatisfyRule

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

Overview

SatisfyRule validates objects by given Proc

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_validator, pred) ⇒ SatisfyRule

Returns a new instance of SatisfyRule.



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

def initialize(_validator, pred)
  @pred = pred
end

Class Method Details

.schemaObject



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

def self.schema
  [{ respond_to: %i[call] }]
end

Instance Method Details

#validate(target, collector) ⇒ Object



24
25
26
# File 'lib/objecheck/validator/satisfy_rule.rb', line 24

def validate(target, collector)
  collector.add_error("should satisfy #{@pred.inspect}") if !@pred.call(target)
end