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.



129
130
131
# File 'lib/factbase/rules.rb', line 129

def initialize(expr)
  @expr = expr
end

Instance Method Details

#it(fact) ⇒ Object



133
134
135
136
137
# File 'lib/factbase/rules.rb', line 133

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