Sha256: 6b41cc9aa3e2127a468834599d1493f61d33a486105f534310ea8a9c309c2c12
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2023, by Samuel Williams. def initialize(context) super require_relative '../../lib/covered/config' end # Load the current coverage policy. # Defaults to the default coverage path if no paths are specified. # @parameter paths [Array(String)] The coverage database paths. def current(paths: nil) policy = Covered::Policy.new # Load the default path if no paths are specified: paths ||= Dir.glob(Covered::Persist::DEFAULT_PATH, base: context.root) # If no paths are specified, raise an error: if paths.empty? raise ArgumentError, "No coverage paths specified!" end # Load all coverage information: paths.each do |path| # It would be nice to have a better algorithm here than just ignoring mtime - perhaps using checksums? Covered::Persist.new(policy.output, path).load!(ignore_mtime: true) end return policy end # Validate the coverage of multiple test runs. # @parameter paths [Array(String)] The coverage database paths. # @parameter minimum [Float] The minimum required coverage in order to pass. # @parameter input [Covered::Policy] The input policy to validate. def statistics(paths: nil, minimum: 1.0, input:) input ||= context.lookup("covered:policy:current").call(paths: paths) # Calculate statistics: statistics = Covered::Statistics.new input.each do |coverage| statistics << coverage end return statistics end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
covered-0.25.1 | bake/covered/policy.rb |
covered-0.25.0 | bake/covered/policy.rb |
covered-0.24.3 | bake/covered/policy.rb |