Class: Kitsune::Kit::Reporters::Human

Inherits:
Reporter
  • Object
show all
Defined in:
lib/kitsune/kit/reporters/human.rb

Constant Summary collapse

SYMBOLS =
{
  "run_started" => "START",
  "plan_built" => "PLAN",
  "operation_started" => "RUN",
  "operation_progressed" => "PROGRESS",
  "operation_succeeded" => "OK",
  "operation_skipped" => "SKIP",
  "operation_failed" => "FAIL",
  "warning_emitted" => "WARN",
  "run_finished" => "DONE"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(output: $stdout, error: $stderr, color: nil, quiet: false, verbose: false, secret_filter: SecretFilter.new) ⇒ Human

Returns a new instance of Human.



21
22
23
24
25
26
27
28
29
30
# File 'lib/kitsune/kit/reporters/human.rb', line 21

def initialize(output: $stdout, error: $stderr, color: nil, quiet: false, verbose: false,
               secret_filter: SecretFilter.new)
  super()
  @output = output
  @error = error
  @color = color.nil? ? output.tty? && !ENV.key?("NO_COLOR") : color
  @secret_filter = secret_filter
  @quiet = quiet
  @verbose = verbose
end

Instance Method Details

#handle(event) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/kitsune/kit/reporters/human.rb', line 32

def handle(event)
  return if @quiet && !%w[operation_failed warning_emitted run_finished].include?(event.type)

  data = @secret_filter.filter(event.data)
  stream = %w[operation_failed warning_emitted].include?(event.type) ? @error : @output
  message = message_for(event.type, data)
  stream.puts("#{label(event.type)} #{message}") if message
end