Class: Factbase::Rules::Check

Inherits:
Object
  • Object
show all
Defined in:
lib/factbase/rules.rb

Overview

Check one fact.

This is an internal class, it is not supposed to be instantiated directly.

Instance Method Summary collapse

Constructor Details

#initialize(expr) ⇒ Check

Returns a new instance of Check.



111
112
113
# File 'lib/factbase/rules.rb', line 111

def initialize(expr)
  @expr = expr
end

Instance Method Details

#it(fact, fb) ⇒ Object



115
116
117
118
119
# File 'lib/factbase/rules.rb', line 115

def it(fact, fb)
  return if Factbase::Syntax.new(@expr).to_term.evaluate(fact, [], fb)
  e = "#{@expr[0..32]}..." if @expr.length > 32
  raise "The fact doesn't match the #{e.inspect} rule: #{fact}"
end