Module: Undercover::CLI
- Defined in:
- lib/undercover/cli.rb
Constant Summary collapse
- WARNINGS_TO_S =
TODO: Report calls >parser< for each file instead of traversing the whole project at first!
{ stale_coverage: Rainbow('🚨 WARNING: Coverage data is older than your ' \ 'latest changes and results might be incomplete. ' \ 'Re-run tests to update').yellow, no_changes: Rainbow('✅ No reportable changes').green }.freeze
Class Method Summary collapse
- .changeset(opts) ⇒ Object
-
.run(args) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/AbcSize.
-
.syntax_version(version) ⇒ Object
rubocop:enable Metrics/MethodLength, Metrics/AbcSize.
Class Method Details
.changeset(opts) ⇒ Object
42 43 44 45 |
# File 'lib/undercover/cli.rb', line 42 def self.changeset(opts) git_dir = File.join(opts.path, opts.git_dir) Undercover::Changeset.new(git_dir, opts.compare) end |
.run(args) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/AbcSize
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/undercover/cli.rb', line 19 def self.run(args) opts = Undercover::Options.new.parse(args) syntax_version(opts.syntax_version) report = Undercover::Report.new(changeset(opts), opts).build error = report.validate(opts.lcov) if error puts(WARNINGS_TO_S[error]) return 0 if error == :no_changes end warnings = report.build_warnings puts Undercover::Formatter.new(warnings) warnings.any? ? 1 : 0 end |
.syntax_version(version) ⇒ Object
rubocop:enable Metrics/MethodLength, Metrics/AbcSize
36 37 38 39 40 |
# File 'lib/undercover/cli.rb', line 36 def self.syntax_version(version) return unless version Imagen.parser_version = version end |