module CucumberApi::Helpers

Public Instance Methods

resolve(url) click to toggle source

Bind grabbed values into placeholders in given URL Ex: example.com?id={id} with {id => 1} becomes example.com?id=1 @param url [String] parameterized URL with placeholders @return [String] binded URL or original URL if no placeholders

# File lib/cucumber-api/helpers.rb, line 7
def resolve url
  url.gsub!(/\{([a-zA-Z0-9_]+)\}/) do |s|
    s.gsub!(/[\{\}]/, '')
    if instance_variable_defined?("@#{s}")
      CGI.escape %/#{instance_variable_get("@#{s}")}/
    else
      raise 'Did you forget to "grab" ' + s + '?'
    end
  end
  url
end