module Pact::Reification
Public Class Methods
escape(str)
click to toggle source
# File lib/pact/reification.rb, line 52 def self.escape(str) URI.encode_www_form_component(str) end
from_term(term)
click to toggle source
# File lib/pact/reification.rb, line 14 def self.from_term(term) case term when Pact::Term, Pact::SomethingLike, Pact::ArrayLike from_term(term.generate) when Regexp from_term(Expgen.gen(term)) when Hash term.inject({}) do |mem, (key,t)| mem[key] = from_term(t) mem end when Array term.map{ |t| from_term(t)} when Pact::Request::Base from_term(term.to_hash) when Pact::QueryString from_term(term.query) when Pact::QueryHash if term.original_string term.original_string else from_term(term.query).map { |k, v| if v.nil? k elsif v.is_a?(Array) #For cases where there are multiple instance of the same parameter v.map { |x| "#{k}=#{escape(x)}"}.join('&') else "#{k}=#{escape(v)}" end }.join('&') end when Pact::StringWithMatchingRules String.new(term) else term end end