Sha256: 16c7e80e051f76f22a4992296650d91e1a8e08c8f8a7237ee3e97b9012d7f039

Contents?: true

Size: 1.59 KB

Versions: 4

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

class SimpleCov::Formatter::Terminal ; end # rubocop:disable Lint/EmptyClass

require_relative 'terminal/config'
require_relative 'terminal/file_determiner'
require_relative 'terminal/r_spec_integration'
require_relative 'terminal/result_printer'
require_relative 'terminal/version'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/string/filters'
require 'memoist'
require 'rouge'
require 'rspec/core'
require 'simplecov'

class SimpleCov::Formatter::Terminal
  extend Forwardable
  extend Memoist

  def_delegators(
    :file_determiner,
    :executed_spec_file,
    :executed_spec_files,
    :targeted_application_file,
  )
  def_delegators(
    :result_printer,
    :print_coverage_info,
    :print_info_for_no_executed_specs,
    :print_info_for_nonexistent_application_target,
    :print_info_for_undetermined_application_target,
  )

  class << self
    extend Memoist

    memoize \
    def config
      Config.new
    end
  end

  def format(result)
    if executed_spec_files.nil?
      print_info_for_no_executed_specs
    elsif targeted_application_file.nil?
      print_info_for_undetermined_application_target
    elsif File.exist?(targeted_application_file)
      print_coverage_info(result)
    else
      print_info_for_nonexistent_application_target
    end
  end

  private

  memoize \
  def file_determiner
    SimpleCov::Formatter::Terminal::FileDeterminer.new
  end

  memoize \
  def result_printer
    SimpleCov::Formatter::Terminal::ResultPrinter.new(file_determiner)
  end
end

SimpleCov::Formatter::Terminal::RSpecIntegration.setup_rspec

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple_cov-formatter-terminal-0.2.2 lib/simple_cov/formatter/terminal.rb
simple_cov-formatter-terminal-0.2.1 lib/simple_cov/formatter/terminal.rb
simple_cov-formatter-terminal-0.2.0 lib/simple_cov/formatter/terminal.rb
simple_cov-formatter-terminal-0.1.0 lib/simple_cov/formatter/terminal.rb