class Object

Public Instance Methods

command_line(*args, **kwargs, &block) click to toggle source

Run a command and get back the result.

@param command [String] The command to run. @param args [Array] Any arguments passed to the command. All arguments will

be converted to strings using `to_s`.

@param [Hash] env: Pass environment variables to use. The key is the name

of the environment variable. The value is the value you want that variable
to have.

@param [Integer, Float, nil] Number of seconds to wait for the block to

terminate. Floats can be used to specify fractional seconds. A value of 0
or nil will execute the block without any timeout.

@yield [stdin] Handle any input on stdin that the command needs. @yieldparam stdin [IO]

@example

command_line('echo', 'hello')

@example

command_line('command_expecting_input') do |stdin|
  stdin.puts "first input"
  stdin.puts "second input"
end

@example

command_line('some_webserver', env: { PORT: '80' })

@return [Result]

# File lib/command_line/global.rb, line 35
def command_line(*args, **kwargs, &block)
  CommandLine.command_line(*args, **kwargs, &block)
end
command_line!(*args, **kwargs, &block) click to toggle source

Same as CommandLine.command_line except that a failure on exit raises an error.

@see CommandLine.command_line

@example

command_line!('echo', 'hello')

@example

command_line!('grep')
# => CommandLine::ExitFailureError (usage: grep ...

@return [Result] @raise [CommandLine::ExitFailureError] If the application exits with an

error status. The message will be the contents of Result#stderr.
# File lib/command_line/global.rb, line 54
def command_line!(*args, **kwargs, &block)
  CommandLine.command_line!(*args, **kwargs, &block)
end