class Fitting::Request

Public Class Methods

new(env_request, tomogram) click to toggle source
# File lib/fitting/request.rb, line 5
def initialize(env_request, tomogram)
  @method = env_request.request_method
  @path = env_request.env['PATH_INFO'] || env_request.fullpath
  @body = env_request.env['action_dispatch.request.request_parameters']
  @schema = tomogram.find_request(method: @method, path: @path)
  self
end

Public Instance Methods

ignored?(ignore_list) click to toggle source
# File lib/fitting/request.rb, line 33
def ignored?(ignore_list)
  ignore_list.any? do |regexp|
    regexp.match(@path)
  end
end
real_method_with_path() click to toggle source
# File lib/fitting/request.rb, line 17
def real_method_with_path
  "#{@method}\t#{@path}"
end
route() click to toggle source
# File lib/fitting/request.rb, line 13
def route
  "#{@schema.method}\t#{@schema.path}"
end
schemas_of_possible_responses(status:) click to toggle source
# File lib/fitting/request.rb, line 21
def schemas_of_possible_responses(status:)
  return nil unless @schema

  @schema.find_responses(status: status).map do |response|
    response['body']
  end
end
within_prefix?(prefix) click to toggle source
# File lib/fitting/request.rb, line 29
def within_prefix?(prefix)
  @path.start_with?(prefix)
end