lib/modl/parser/evaluator.rb in modl-0.3.10 vs lib/modl/parser/evaluator.rb in modl-0.3.11
- old
+ new
@@ -52,11 +52,11 @@
i = start
result = false
while i < condition.values.length
item = condition.values[i]
if item.primitive.constant
- value2 = item.text
+ value2 = Substitutions.process(item.text)
else
value2, success = value(global, item.text)
end
partial = false
case condition.operator
@@ -103,14 +103,15 @@
key = k
ikey = key.to_i
if ikey.to_s == key
index_val = global.index[ikey]
value1 = index_val.respond_to?(:text) ? index_val.text : nil
+ value1 = Substitutions.process(value1)
else
pair = global.pair(key)
- return k unless pair
+ return Substitutions.process(k) unless pair
- value1 = pair.text
+ value1 = Substitutions.process(pair.text)
end
success = true
end
[value1, success]
end