# File lib/xpath/expression.rb, line 215 def to_xpath(predicate=nil) @expression.to_xpath(predicate) % @variables rescue ArgumentError # for ruby < 1.9 compat @expression.to_xpath(predicate).gsub(/%\{(\w+)\}/) do |_| @variables[$1.to_sym] or raise(ArgumentError, "expected variable #{$1} to be set") end end