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.



132
133
134
# File 'lib/factbase/rules.rb', line 132

def initialize(expr)
  @expr = expr
end

Instance Method Details

#it(fact) ⇒ Object



136
137
138
139
140
# File 'lib/factbase/rules.rb', line 136

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