lib/dentaku/calculator.rb in dentaku-0.2.12 vs lib/dentaku/calculator.rb in dentaku-0.2.13
- old
+ new
@@ -1,14 +1,25 @@
require 'dentaku/evaluator'
+require 'dentaku/rules'
require 'dentaku/token'
require 'dentaku/tokenizer'
module Dentaku
class Calculator
attr_reader :result
def initialize
clear
+ end
+
+ def add_rule(new_rule)
+ Rules.add_rule new_rule
+ self
+ end
+
+ def add_rules(new_rules)
+ new_rules.each { | r | Rules.add_rule r }
+ self
end
def evaluate(expression, data={})
@tokenizer ||= Tokenizer.new
@tokens = @tokenizer.tokenize(expression)