Sha256: 23552b8712f9bb4d2ffd615559cec58bd4601ce0323833707890e5cd39cdc553

Contents?: true

Size: 1.35 KB

Versions: 48

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

module Mutant
  class Reporter
    # Reporter that reports in human readable format
    class CLI < self
      include Concord.new(:output, :format)

      # Build reporter
      #
      # @param [IO] output
      #
      # @return [Reporter::CLI]
      def self.build(output)
        new(
          output,
          Format::Progressive.new(output.respond_to?(:tty?) && output.tty?)
        )
      end

      # Report start
      #
      # @param [Env] env
      #
      # @return [self]
      def start(env)
        write(format.start(env))
        self
      end

      # Report progress object
      #
      # @param [Parallel::Status] status
      #
      # @return [self]
      def progress(status)
        write(format.progress(status))
        self
      end

      # Report delay in seconds
      #
      # @return [Float]
      def delay
        format.delay
      end

      # Report warning
      #
      # @param [String] message
      #
      # @return [self]
      def warn(message)
        output.puts(message)
        self
      end

      # Report env
      #
      # @param [Result::Env] env
      #
      # @return [self]
      def report(env)
        Printer::EnvResult.call(output, env)
        self
      end

    private

      def write(frame)
        output.write(frame)
      end

    end # CLI
  end # Reporter
end # Mutant

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
mutant-0.10.34 lib/mutant/reporter/cli.rb
mutant-0.10.33 lib/mutant/reporter/cli.rb
mutant-0.10.32 lib/mutant/reporter/cli.rb
mutant-0.10.31 lib/mutant/reporter/cli.rb
mutant-0.10.30 lib/mutant/reporter/cli.rb
mutant-0.10.29 lib/mutant/reporter/cli.rb
mutant-0.10.28 lib/mutant/reporter/cli.rb
mutant-0.10.27 lib/mutant/reporter/cli.rb
mutant-0.10.26 lib/mutant/reporter/cli.rb
mutant-0.10.25 lib/mutant/reporter/cli.rb
mutant-0.10.24 lib/mutant/reporter/cli.rb
mutant-0.10.23 lib/mutant/reporter/cli.rb
mutant-0.10.22 lib/mutant/reporter/cli.rb
mutant-0.10.21 lib/mutant/reporter/cli.rb
mutant-0.10.20 lib/mutant/reporter/cli.rb
mutant-0.10.19 lib/mutant/reporter/cli.rb
mutant-0.10.18 lib/mutant/reporter/cli.rb
mutant-0.10.17 lib/mutant/reporter/cli.rb
mutant-0.10.16 lib/mutant/reporter/cli.rb
mutant-0.10.15 lib/mutant/reporter/cli.rb