Sha256: fa124870064f2f7a76fb3abacf8795c57ee8539cb499227358be8ec85bde6218

Contents?: true

Size: 939 Bytes

Versions: 1

Compression:

Stored size: 939 Bytes

Contents

require_relative "shelltastic/version"
require_relative "shelltastic/utils"
require_relative "shelltastic/output_formatter"
require_relative "shelltastic/command_io"
require_relative "shelltastic/timer"
require_relative "shelltastic/exceptions"

# ShellTastic namespace
module ShellTastic
  class Command
    class << self
      # run is the entry point to api 
      # @param command [String] command or multiple commands to be executed
      # @param command [Array] multiple commands to be executed
      # @param timer [Object] timer object, @see ShellTastic::Timer
      # @return [Array] Array of hashes for each command executed @see IO::popen
      # @example
      #   ShellTastic::Command.run "whoami"
      #   ShellTastic::Command.run "whoami", "date"
      def run(*command)
        command.flatten.map { |cmd| ShellTastic::IO.popen(cmd, ShellTastic::Timer.new, ShellTastic::OutputFormatter.new) }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shelltastic-0.4.0 lib/shelltastic.rb