Class: Vivlio::Starter::CLI::MetricsRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/vivlio/starter/cli/metrics.rb

Overview

text_metrics 全体の制御フローを担う実行クラス

Instance Method Summary collapse

Constructor Details

#initialize(targets, options) ⇒ MetricsRunner

対象トークンとオプションを初期化する



48
49
50
51
52
53
# File 'lib/vivlio/starter/cli/metrics.rb', line 48

def initialize(targets, options)
  @targets = Array(targets)
  @options = options || {}
  @resolver = MarkdownResolver.new(@targets)
  @stat_builder = StatBuilder.new
end

Instance Method Details

#callObject

対象ファイル解決から出力までの処理を一括実行する



56
57
58
59
60
61
62
63
64
65
# File 'lib/vivlio/starter/cli/metrics.rb', line 56

def call
  files = resolver.resolve
  return warn_no_targets if files.empty?

  stats = files.map { |path| stat_builder.build(path) }
  return output_json(stats) if json?
  return output_yaml(stats) if yaml?

  TablePrinter.new(stats).print
end