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