Class: Fitting::Statistics::Template

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

Instance Method Summary collapse

Constructor Details

#initialize(tested_requests, config) ⇒ Template

Returns a new instance of Template.



11
12
13
14
# File 'lib/fitting/statistics/template.rb', line 11

def initialize(tested_requests, config)
  @tested_requests = tested_requests
  @config = config
end

Instance Method Details

#black_measurementObject



49
50
51
# File 'lib/fitting/statistics/template.rb', line 49

def black_measurement
  @black_measurement ||= Fitting::Statistics::Measurement.new(black_unit)
end

#black_statisticsObject



41
42
43
# File 'lib/fitting/statistics/template.rb', line 41

def black_statistics
  @black_statistics ||= Fitting::Statistics::Analysis.new(black_measurement)
end

#black_unitObject



59
60
61
62
63
# File 'lib/fitting/statistics/template.rb', line 59

def black_unit
  @black_unit_requests ||= documented_requests_black.inject([]) do |res, documented_request|
    res.push(Fitting::Records::Unit::Request.new(documented_request, @tested_requests))
  end
end

#documentedObject



75
76
77
78
79
# File 'lib/fitting/statistics/template.rb', line 75

def documented
  @documented_requests ||= @config.tomogram.to_hash.inject([]) do |res, tomogram_request|
    res.push(Fitting::Records::Documented::Request.new(tomogram_request, white_list.to_a))
  end
end

#documented_requests_blackObject



69
70
71
72
73
# File 'lib/fitting/statistics/template.rb', line 69

def documented_requests_black
  @documented_requests_black ||= documented.find_all do |request|
    !request.white
  end
end

#documented_requests_whiteObject



65
66
67
# File 'lib/fitting/statistics/template.rb', line 65

def documented_requests_white
  @documented_requests_white ||= documented.find_all(&:white)
end

#not_coveredObject



33
34
35
# File 'lib/fitting/statistics/template.rb', line 33

def not_covered
  Fitting::Statistics::NotCoveredResponses.new(white_measurement).to_s
end

#saveObject



16
17
18
19
# File 'lib/fitting/statistics/template.rb', line 16

def save
  File.open(@config.stats_path, 'w') { |file| file.write(stats) }
  File.open(@config.not_covered_path, 'w') { |file| file.write(not_covered) }
end

#statsObject



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

def stats
  if @config.white_list.present? || @config.resource_white_list.present? || @config.include_resources.present?
    [
      ['[Black list]', black_statistics].join("\n"),
      ['[White list]', white_statistics].join("\n"),
      ''
    ].join("\n\n")
  else
    [white_statistics, "\n\n"].join
  end
end

#white_listObject



81
82
83
84
85
86
87
88
89
90
# File 'lib/fitting/statistics/template.rb', line 81

def white_list
  @white_list ||= Fitting::Storage::WhiteList.new(
    @config.prefix,
    @config.white_list,
    @config.resource_white_list,
    @config.include_resources,
    @config.include_actions,
    @config.tomogram.to_resources
  )
end

#white_measurementObject



45
46
47
# File 'lib/fitting/statistics/template.rb', line 45

def white_measurement
  @white_measurement ||= Fitting::Statistics::Measurement.new(white_unit)
end

#white_statisticsObject



37
38
39
# File 'lib/fitting/statistics/template.rb', line 37

def white_statistics
  @white_statistics ||= Fitting::Statistics::Analysis.new(white_measurement)
end

#white_unitObject



53
54
55
56
57
# File 'lib/fitting/statistics/template.rb', line 53

def white_unit
  @white_unit_requests ||= documented_requests_white.inject([]) do |res, documented_request|
    res.push(Fitting::Records::Unit::Request.new(documented_request, @tested_requests))
  end
end