Sha256: feb1064c31a8e6164857bf36ce07d27730080ada0bd6a1b1a54097f31a3f1d8b

Contents?: true

Size: 659 Bytes

Versions: 5

Compression:

Stored size: 659 Bytes

Contents

module CucumberApi
  module Helpers
    # Bind grabbed values into placeholders in given URL
    # Ex: http://example.com?id={id} with {id => 1} becomes http://example.com?id=1
    # @param url [String] parameterized URL with placeholders
    # @return [String] binded URL or original URL if no placeholders
    def resolve url
      url.gsub!(/\{([a-zA-Z0-9_]+)\}/) do |s|
        s.gsub!(/[\{\}]/, '')
        if instance_variable_defined?("@#{s}")
          instance_variable_get("@#{s}")
        else
          raise 'Did you forget to "grab" ' + s + '?'
        end
      end
      url
    end
  end
end

World(CucumberApi::Helpers)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alinta-cucumber-api-0.5.5 lib/cucumber-api/helpers.rb
alinta-cucumber-api-0.5.4 lib/cucumber-api/helpers.rb
alinta-cucumber-api-0.5.3 lib/cucumber-api/helpers.rb
alinta-cucumber-api-0.5.2 lib/cucumber-api/helpers.rb
alinta-cucumber-api-0.5.1 lib/cucumber-api/helpers.rb