class Fitting::Documentation

Public Class Methods

new(tomogram, white_list) click to toggle source
# File lib/fitting/documentation.rb, line 5
def initialize(tomogram, white_list)
  @tomogram = tomogram
  @white_list = white_list
end

Public Instance Methods

all() click to toggle source
# File lib/fitting/documentation.rb, line 30
def all
  @all ||= @tomogram.to_hash.each_with_object([]) do |request, routes|
    responses(request).map do |status, indexes|
      indexes.times do |index|
        route = "#{request['method']}\t#{request['path']} #{status} #{index}"
        routes.push(route)
      end
    end
  end.uniq
end
black() click to toggle source
# File lib/fitting/documentation.rb, line 10
def black
  if @white_list
    all.select do |response|
      black?(response)
    end
  else
    []
  end
end
black?(response) click to toggle source
# File lib/fitting/documentation.rb, line 48
def black?(response)
  data = response.split(' ')
  data[1] && !@white_list[data[1]] || (@white_list[data[1]] != [] && !@white_list[data[1]].include?(data[0]))
end
responses(request) click to toggle source
# File lib/fitting/documentation.rb, line 41
def responses(request)
  request['responses'].each_with_object({}) do |response, responses|
    responses[response['status']] ||= 0
    responses[response['status']] += 1
  end
end
white() click to toggle source
# File lib/fitting/documentation.rb, line 20
def white
  if @white_list
    all.select do |response|
      white?(response)
    end
  else
    all
  end
end
white?(response) click to toggle source
# File lib/fitting/documentation.rb, line 53
def white?(response)
  data = response.split(' ')
  data[1] && @white_list[data[1]] && (@white_list[data[1]] == [] || @white_list[data[1]].include?(data[0]))
end