Class: Bookworm::InferEngine
- Inherits:
-
Object
- Object
- Bookworm::InferEngine
- Defined in:
- lib/bookworm/infer_engine.rb
Overview
The InferEngine class takes a KnowledgeBase object, and then runs the given rules against the files within each bookworm key in the KnowledgeBase that the rule uses.
Instance Method Summary collapse
-
#initialize(knowledge_base, rules = []) ⇒ InferEngine
constructor
A new instance of InferEngine.
- #knowledge_base ⇒ Object
- #process_rule(rule) ⇒ Object
Constructor Details
#initialize(knowledge_base, rules = []) ⇒ InferEngine
Returns a new instance of InferEngine.
24 25 26 27 28 29 30 |
# File 'lib/bookworm/infer_engine.rb', line 24 def initialize(knowledge_base, rules = []) @kb = knowledge_base rules.each do |rule| process_rule(rule) end end |
Instance Method Details
#knowledge_base ⇒ Object
41 42 43 |
# File 'lib/bookworm/infer_engine.rb', line 41 def knowledge_base @kb end |
#process_rule(rule) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/bookworm/infer_engine.rb', line 32 def process_rule(rule) klass = Bookworm::InferRules.const_get(rule) klass.keys.each do |key| @kb[key].each do |name, | @kb[key][name][rule] = klass.new().output end end end |