class RoutesCoverage::Result
Attributes
all_routes[R]
route_hit_counts[R]
Public Class Methods
new(all_routes, hit_routes, settings)
click to toggle source
# File lib/routes_coverage/result.rb, line 89 def initialize all_routes, hit_routes, settings @all_routes = all_routes @route_hit_counts = hit_routes @settings = settings end
Public Instance Methods
all_routes_with_hits()
click to toggle source
# File lib/routes_coverage/result.rb, line 160 def all_routes_with_hits if Inspector::NEW_RAILS res = Inspector.new(all_routes).collect_all_routes else res = Inspector.new.collect_all_routes(all_routes) end res.each{|val| val[:hits] = @route_hit_counts[val[:original]] || 0 } res end
avg_hits()
click to toggle source
# File lib/routes_coverage/result.rb, line 152 def avg_hits (@route_hit_counts.values.sum.to_f / hit_routes_count).round(@settings.round_precision) end
coverage()
click to toggle source
# File lib/routes_coverage/result.rb, line 147 def coverage return 0 unless expected_routes.any? (hit_routes_count * 100.0 / expected_routes_count).round(@settings.round_precision) end
coverage_pass?()
click to toggle source
# File lib/routes_coverage/result.rb, line 156 def coverage_pass? !@settings.minimum_coverage || (coverage.to_f >= @settings.minimum_coverage) end
excluded_routes()
click to toggle source
# File lib/routes_coverage/result.rb, line 120 def excluded_routes expected_routes @excluded_routes end
excluded_routes_count()
click to toggle source
# File lib/routes_coverage/result.rb, line 139 def excluded_routes_count excluded_routes.size end
expected_routes()
click to toggle source
# File lib/routes_coverage/result.rb, line 99 def expected_routes return @expected_routes if @expected_routes filter_regex = Regexp.union(@settings.exclude_patterns) namespaces_regex = Regexp.union(@settings.exclude_namespaces.map{|n| /^\/#{n}/}) routes_groups = all_routes.group_by{|r| !!( ("#{r.verb.to_s[8..-3]} #{r.path.spec}".strip =~ filter_regex) || (r.path.spec.to_s =~ namespaces_regex) ) } @excluded_routes = routes_groups[true] || [] @expected_routes = routes_groups[false] || [] end
expected_routes_count()
click to toggle source
# File lib/routes_coverage/result.rb, line 135 def expected_routes_count expected_routes.size end
hit_routes()
click to toggle source
# File lib/routes_coverage/result.rb, line 125 def hit_routes #TODO: sort? @route_hit_counts.keys end
hit_routes_count()
click to toggle source
# File lib/routes_coverage/result.rb, line 131 def hit_routes_count @route_hit_counts.size end
pending_routes()
click to toggle source
# File lib/routes_coverage/result.rb, line 116 def pending_routes expected_routes - hit_routes end
total_count()
click to toggle source
# File lib/routes_coverage/result.rb, line 143 def total_count all_routes.size end