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