class Pipekit::WebMock::RequestSignatureSnippet

Public Class Methods

new(request_signature) click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 4
def initialize(request_signature)
  @uri = request_signature.uri
  @body = request_signature.body
end

Public Instance Methods

body() click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 17
def body
  extract_params(@body)
end
params() click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 13
def params
  extract_params(@uri.query)
end
pipedrive_request?() click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 9
def pipedrive_request?
  @uri.hostname == "api.pipedrive.com"
end

Private Instance Methods

extract_params(query) click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 27
def extract_params(query)
  params = Rack::Utils.parse_nested_query(query)
  params.reduce({}) do |result, (field, value)|
    field = Config.field_name(resource, field)
    value = Config.field_value(resource, field, value)
    result.tap { |result| result[field] = value }
  end.map { |k, v| "#{k}: #{v}" }.join("\n")
end
resource() click to toggle source
# File lib/pipekit/webmock/request_signature_snippet.rb, line 23
def resource
  @uri.path.split("/")[2][0..-2]
end