class RailsRequest::Payload
Public Class Methods
new(payload)
click to toggle source
# File lib/rails_request/payload.rb, line 5 def initialize(payload) @payload = payload end
Public Instance Methods
curl_options()
click to toggle source
# File lib/rails_request/payload.rb, line 9 def curl_options query = params.present? ? "?#{params.to_query}" : nil # host and port set during request by before_action host = RailsRequest.host port = RailsRequest.port [ 'curl', '-v', "--request '#{method}'", headers.map { |key, value| "--header '#{key}: #{value}'" }, "'http://#{host}:#{port}#{path}#{query}'" ].flatten.join(" \\\n") end
method()
click to toggle source
# File lib/rails_request/payload.rb, line 27 def method @payload[:method] end
path()
click to toggle source
# File lib/rails_request/payload.rb, line 23 def path @payload[:path] end
Private Instance Methods
headers()
click to toggle source
# File lib/rails_request/payload.rb, line 33 def headers return [] if @payload[:headers].nil? @payload[:headers] .select { |key, *_| key.start_with?('HTTP') } .map do |key, value| segments = key.downcase.split('_') segments.shift reformatted = segments.map(&:capitalize).join('-') [reformatted, value] end end
params()
click to toggle source
# File lib/rails_request/payload.rb, line 46 def params Hash[@payload[:params].reject do |key, _| %w[action controller path].include?(key) end] end