Module RVM::Shell::Utility
In: lib/rvm/shell/utility.rb

Methods

Public Instance methods

From a command, will build up a runnable command. If args isn‘t provided, it will escape arguments.

[Source]

# File lib/rvm/shell/utility.rb, line 31
      def build_cli_call(command, args = nil)
        "#{command} #{escape_arguments(args)}".strip
      end

Given a string, converts to the escaped format. This ensures that things such as variables aren‘t evaluated into strings and everything else is setup as expected.

[Source]

# File lib/rvm/shell/utility.rb, line 17
      def escape_argument(s)
        return "''" if s.empty?
        s.scan(/('+|[^']+)/).map do |section|
          section = section.first
          if section[0] == ?'
            "\\'" * section.length
          else
            "'#{section}'"
          end
        end.join
      end

Takes an array / number of arguments and converts them to a string useable for passing into a shell call.

[Source]

# File lib/rvm/shell/utility.rb, line 9
      def escape_arguments(*args)
        return '' if args.nil?
        args.flatten.map { |a| escape_argument(a.to_s) }.join(" ")
      end

[Validate]