Class: PactBroker::Api::Decorators::DecoratorContextCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/api/decorators/decorator_context_creator.rb

Class Method Summary collapse

Class Method Details

.call(resource, options) ⇒ Object

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.



43
44
45
46
47
48
49
50
51
52
53
54
# 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