Restrict the universe of files in the coverage report to those matching
one or more globs, regexps, or block predicates. Multiple calls union;
when any cover matcher is configured the report drops every file that
doesn't match at least one of them.
Strings are interpreted as shell globs (e.g. "lib/**/*.rb"), not
substring matches — this is a deliberate departure from the legacy
#add_filter semantics and matches the way #track_files already
interprets its argument.
When the matcher is a string-glob, cover also expands the glob on
disk so files that exist but were never required during the run still
appear in the report (at 0% coverage). This is the "include unloaded
files" half of the legacy #track_files behavior, rolled into the
same call.
SimpleCov.start do
cover "lib/**/*.rb", "app/**/*.rb"
cover(/_helper\.rb\z/)
cover { |sf| sf.lines.count > 5 }
end