Sha256: 88c22ad5a9e8f52327c2c70d4e3e0cd0db2908c6e1d246013c396d02146df778
Contents?: true
Size: 1.24 KB
Versions: 4
Compression:
Stored size: 1.24 KB
Contents
# typed: true # frozen_string_literal: true require "benchmark" module Packwerk module Formatters class ProgressFormatter extend T::Sig sig { params(out: T.any(StringIO, IO), style: OutputStyle).void } def initialize(out, style: OutputStyles::Plain.new) @out = out @style = style end def started(target_files) files_size = target_files.size files_string = "file".pluralize(files_size) @out.puts("📦 Packwerk is inspecting #{files_size} #{files_string}") end def started_validation @out.puts("📦 Packwerk is running validation...") execution_time = Benchmark.realtime { yield } finished(execution_time) @out.puts("✅ Packages are valid. Use `packwerk check` to run static checks.") end def mark_as_inspected @out.print(".") end def mark_as_failed @out.print("#{@style.error}E#{@style.reset}") end def finished(execution_time) @out.puts @out.puts("📦 Finished in #{execution_time.round(2)} seconds") end def interrupted @out.puts @out.puts("Manually interrupted. Violations caught so far are listed below:") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems