Class: RoutesCoverage::Formatters::SummaryText

Inherits:
Object
  • Object
show all
Defined in:
lib/routes_coverage/formatters/summary_text.rb

Direct Known Subclasses

FullText

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result, settings) ⇒ SummaryText

Returns a new instance of SummaryText.



4
5
6
7
# File 'lib/routes_coverage/formatters/summary_text.rb', line 4

def initialize result, settings
  @result = result
  @settings = settings
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



9
10
11
# File 'lib/routes_coverage/formatters/summary_text.rb', line 9

def result
  @result
end

#settingsObject (readonly)

Returns the value of attribute settings.



10
11
12
# File 'lib/routes_coverage/formatters/summary_text.rb', line 10

def settings
  @settings
end

Instance Method Details

#formatObject



25
26
27
# File 'lib/routes_coverage/formatters/summary_text.rb', line 25

def format
  "\nRoutes coverage is #{result.coverage}% (#{hits_count})#{status}"
end

#hits_countObject



12
13
14
# File 'lib/routes_coverage/formatters/summary_text.rb', line 12

def hits_count
  "#{result.hit_routes_count} of #{result.expected_routes_count}#{"(#{result.total_count} total)" if result.expected_routes_count != result.total_count} routes hit#{ " at #{result.avg_hits} hits average" if result.hit_routes_count > 0}"
end

#statusObject



16
17
18
19
20
21
22
23
# File 'lib/routes_coverage/formatters/summary_text.rb', line 16

def status
  return unless settings.minimum_coverage
  if result.coverage_pass?
    ""
  else
    "\nCoverage failed. Need at least #{(settings.minimum_coverage / 100.0 * result.total_count).ceil}"
  end
end