Module: Bard::Command

Defined in:
lib/bard/command.rb

Defined Under Namespace

Classes: Error

Class Method Summary collapse

Class Method Details

.exec!(command) ⇒ Object



27
28
29
# File 'lib/bard/command.rb', line 27

def self.exec!(command)
  Kernel.exec command
end

.run(command, verbose: false, quiet: false) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bard/command.rb', line 13

def self.run(command, verbose: false, quiet: false)
  if verbose
    system command
  else
    stdout, stderr, status = Open3.capture3(command)
    failed = status.to_i.nonzero?
    if failed && !quiet
      $stdout.puts stdout
      $stderr.puts stderr
    end
    !failed && stdout
  end
end

.run!(command, verbose: false, quiet: false) ⇒ Object

Raises:



7
8
9
10
11
# File 'lib/bard/command.rb', line 7

def self.run!(command, verbose: false, quiet: false)
  result = run(command, verbose:, quiet:)
  raise Error.new(command) unless result
  result
end