module SvelteOnRails::Installer::Utils

def self.run_command(command, success_message: false)

def self.run_command(command, success_message: false)
  Dir.chdir(Rails.root) do
    Bundler.with_unbundled_env do
      `pwd`
      stdout, stderr, status = Open3.capture3(command)
      err_msg = if stderr.present?
                  stderr.strip
                elsif success_message && !stdout.match(/#{success_message}/)
                  "missing string «#{success_message}» on result:\n\n+++#{stdout}\n+++"
                else
                end
      if err_msg
        puts "Error running command «#{command}»:"
        raise err_msg
      else
        puts "#{command} => Success"
      end
    end
  end
end