Class: Fitting::Documentation

Inherits:
Object
  • Object
show all
Defined in:
lib/fitting/documentation.rb

Instance Method Summary collapse

Constructor Details

#initialize(tomogram, white_list) ⇒ Documentation

Returns a new instance of Documentation.



5
6
7
8
# File 'lib/fitting/documentation.rb', line 5

def initialize(tomogram, white_list)
  @tomogram = tomogram
  @white_list = white_list
end

Instance Method Details

#allObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/fitting/documentation.rb', line 32

def all
  @all ||= @tomogram.to_hash.inject([]) do |routes, request|
    request['responses'].inject({}) do |responses, response|
      responses[response['status']] ||= 0
      responses[response['status']] += 1
      responses
    end.map do |status, indexes|
      indexes.times do |index|
        route = "#{request['method']}\t#{request['path']} #{status} #{index}"
        routes.push(route)
      end
    end
    routes
  end.uniq
end

#blackObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/fitting/documentation.rb', line 10

def black
  if @white_list
    all.select do |response|
      data = response.split(' ')
      data[1] && !@white_list[data[1]] || (@white_list[data[1]] != [] && !@white_list[data[1]].include?(data[0]))
    end
  else
    []
  end
end

#whiteObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/fitting/documentation.rb', line 21

def white
  if @white_list
    all.select do |response|
      data = response.split(' ')
      data[1] && @white_list[data[1]] && (@white_list[data[1]] == [] || @white_list[data[1]].include?(data[0]))
    end
  else
    all
  end
end