lib/backup/cli.rb in backup-3.0.14 vs lib/backup/cli.rb in backup-3.0.15

- old
+ new

@@ -6,19 +6,24 @@ ## # Wrapper method for %x[] to run CL commands # through a ruby method. This helps with test coverage and # improves readability. # + # It'll first remove all prefixing slashes ( / ) by using .gsub(/^\s+/, '') + # This allows for the EOS blocks to be indented without actually using any + # prefixing spaces. This cleans up the implementation code. + # # Every time the Backup::CLI#run method is invoked, it'll invoke # the Backup::CLI#raise_if_command_not_found method after running the # requested command on the OS. # # Backup::CLI#raise_if_command_not_found takes a single argument, the utility name. # the command.slice(0, command.index(/\s/)).split('/')[-1] line will extract only the utility # name (e.g. mongodump, pgdump, etc) from a command like "/usr/local/bin/mongodump <options>" # and pass that in to the Backup::CLI#raise_if_command_not_found def run(command) + command.gsub!(/^\s+/, '') %x[#{command}] raise_if_command_not_found!( command.slice(0, command.index(/\s/)).split('/')[-1] ) end @@ -65,10 +70,12 @@ # # Since this raises an exception, it'll stop the entire backup process, clean up the temp files # and notify the user via the built-in notifiers if these are set. def raise_if_command_not_found!(utility) if $?.to_i.eql?(32512) - raise Exception::CommandNotFound , "Could not find the utility \"#{utility}\" on \"#{RUBY_PLATFORM}\"." + raise Exception::CommandNotFound , "Could not find the utility \"#{utility}\" on \"#{RUBY_PLATFORM}\".\n" + + "If this is a database utility, try defining the 'utility_path' option in the configuration file.\n" + + "See the Database Wiki for more information about the Utility Path option." end end end end