method

find_cmd_and_exec

Importance_0
find_cmd_and_exec(commands, *args) protected

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File railties/lib/rails/commands/dbconsole.rb, line 150
      def find_cmd_and_exec(commands, *args)
        commands = Array(commands)

        dirs_on_path = ENV['PATH'].to_s.split(File::PATH_SEPARATOR)
        unless (ext = RbConfig::CONFIG['EXEEXT']).empty?
          commands = commands.map{|cmd| "#{cmd}#{ext}"}
        end

        full_path_command = nil
        found = commands.detect do |cmd|
          dirs_on_path.detect do |path|
            full_path_command = File.join(path, cmd)
            File.file?(full_path_command) && File.executable?(full_path_command)
          end
        end

        if found
          exec full_path_command, *args
        else
          abort("Couldn't find database client: #{commands.join(', ')}. Check your $PATH and try again.")
        end
      end
Register or log in to add new notes.