class PactBroker::Api::Decorators::DecoratorContextCreator

Public Class Methods

call(resource, options) click to toggle source

decorator_context [Hash] :resource_title eg. “Pacticipant versions for Foo” Optional Used when a single decorator is being used for multiple resources and the title needs to be set from the resource.

# File lib/pact_broker/api/decorators/decorator_context_creator.rb, line 43
def self.call(resource, options)
  env = resource.request.env
  decorator_context = {}
  decorator_context[:base_url] = resource.base_url
  decorator_context[:resource_url] = resource.resource_url
  decorator_context[:query_string] = query_string = (env["QUERY_STRING"] && !env["QUERY_STRING"].empty? ? env["QUERY_STRING"] : nil)
  decorator_context[:request_url] = query_string ? resource.resource_url + "?" + query_string : resource.resource_url
  decorator_context[:env] = env
  decorator_context[:resource_title] = options[:resource_title]
  decorator_context.merge!(options)
  decorator_context
end