Class: QuietQuality::Executors::Execcer

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/quiet_quality/executors/execcer.rb

Instance Method Summary collapse

Methods included from Logging

#debug, #info, #warn

Constructor Details

#initialize(tool_options:, changed_files: nil) ⇒ Execcer

Returns a new instance of Execcer.



6
7
8
9
# File 'lib/quiet_quality/executors/execcer.rb', line 6

def initialize(tool_options:, changed_files: nil)
  @tool_options = tool_options
  @changed_files = changed_files
end

Instance Method Details

#exec!Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/quiet_quality/executors/execcer.rb', line 11

def exec!
  if runner.exec_command
    Kernel.exec(*runner.exec_command)
  else
    info <<~LOG_MESSAGE
      This runner does not believe it needs to execute at all.
      This typically means that it was told to target changed-files, but no relevant
      files were changed.
    LOG_MESSAGE
    Kernel.exit(0)
  end
end