class Grammoire::Rule
Attributes
name[R]
weight[R]
Public Class Methods
new(name, &setup)
click to toggle source
# File lib/grammoire/rule.rb, line 5 def initialize(name, &setup) @name = name weights(1) pre_condition { true } instance_eval &setup if block_given? end
Public Instance Methods
applies?(context)
click to toggle source
# File lib/grammoire/rule.rb, line 21 def applies?(context) context.instance_eval &@condition end
evaluate(context)
click to toggle source
# File lib/grammoire/rule.rb, line 29 def evaluate(context) context.instance_eval &@action end
pre_condition(&condition)
click to toggle source
# File lib/grammoire/rule.rb, line 17 def pre_condition(&condition) @condition = condition end
produce(&action)
click to toggle source
# File lib/grammoire/rule.rb, line 25 def produce(&action) @action = action end
weights(weight)
click to toggle source
# File lib/grammoire/rule.rb, line 13 def weights(weight) @weight = weight end