# File lib/xpath/expression.rb, line 210 def initialize(expression, variables={}) @variables = variables @expression = expression end
# 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(%r%\{(\w+)\}/) do |_| @variables[$1.to_sym] or raise(ArgumentError, "expected variable #{$1} to be set") end end