lib/pact/shared/request.rb in pact-support-1.17.0.pre.rc2 vs lib/pact/shared/request.rb in pact-support-1.17.0

- old
+ new

@@ -1,24 +1,22 @@ require 'pact/symbolize_keys' require 'pact/consumer_contract/headers' require 'pact/consumer_contract/query' module Pact - module Request - class Base include Pact::SymbolizeKeys attr_reader :method, :path, :headers, :body, :query, :options def initialize(method, path, headers, body, query) @method = method.to_s @path = path @headers = Hash === headers ? Headers.new(headers) : headers # Could be a NullExpectation - TODO make this more elegant @body = body - @query = is_unspecified?(query) ? query : Pact::Query.create(query) + set_query(query) end def to_hash hash = { method: method, @@ -90,8 +88,19 @@ def display_query (query.nil? || query.empty?) ? '' : "?#{Pact::Reification.from_term(query)}" end + def set_query(query) + @query = if is_unspecified?(query) + query + else + if Pact::Query.is_a_query_object?(query) + query + else + Pact::Query.create(query) + end + end + end end end -end \ No newline at end of file +end