class Aruba::Platforms::UnixPlatform

WARNING: All methods found here are not considered part of the public API of aruba.

Those methods can be changed at any time in the feature or removed without any further notice.

This includes all methods for the UNIX platform

@private

Public Class Methods

match?() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 34
def self.match?
  !Gem.win_platform?
end

Public Instance Methods

absolute_path?(path) click to toggle source

Is absolute path

# File lib/aruba/platforms/unix_platform.rb, line 180
def absolute_path?(path)
  Pathname.new(path).absolute?
end
announcer() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 50
def announcer
  Announcer
end
builtin_shell_commands() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 241
def builtin_shell_commands
  []
end
chdir(dir_name, &block) click to toggle source

Change to directory

# File lib/aruba/platforms/unix_platform.rb, line 126
def chdir(dir_name, &block)
  dir_name = ::File.expand_path(dir_name.to_s)

  with_environment "OLDPWD" => getwd, "PWD" => dir_name do
    ::Dir.chdir(dir_name, &block)
  end
end
chmod(mode, args, options) click to toggle source

Change mode of file/directory

# File lib/aruba/platforms/unix_platform.rb, line 150
def chmod(mode, args, options)
  FileUtils.chmod_R(mode, args, **options)
end
command?(path) click to toggle source

Check if command is relative

@return [Boolean]

true
  * command.sh

false
  * /bin/command.sh
  * bin/command.sh
# File lib/aruba/platforms/unix_platform.rb, line 212
def command?(path)
  p = Pathname.new(path)
  p.relative? && p.basename == p
end
command_monitor() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 54
def command_monitor
  CommandMonitor
end
command_string() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 42
def command_string
  UnixCommandString
end
cp(src, dest) click to toggle source

Copy file/directory

# File lib/aruba/platforms/unix_platform.rb, line 140
def cp(src, dest)
  FileUtils.cp_r(src, dest)
end
create_file(*args) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 70
def create_file(*args)
  ArubaFileCreator.new.call(*args)
end
create_fixed_size_file(*args) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 74
def create_fixed_size_file(*args)
  ArubaFixedSizeFileCreator.new.call(*args)
end
current_ruby() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 98
def current_ruby
  ::File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"])
end
default_shell() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 82
def default_shell
  "bash"
end
deprecated(msg) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 94
def deprecated(msg)
  warn(format("%s. Called by %s", msg, caller[1]))
end
detect_ruby(cmd) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 86
def detect_ruby(cmd)
  if /^ruby\s/.match?(cmd)
    cmd.gsub(/^ruby\s/, "#{current_ruby} ")
  else
    cmd
  end
end
determine_disk_usage(paths) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 66
def determine_disk_usage(paths)
  DetermineDiskUsage.new.call(paths)
end
determine_file_size(*args) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 62
def determine_file_size(*args)
  DetermineFileSize.new.call(*args)
end
directory?(f) click to toggle source

Exists and is directory

# File lib/aruba/platforms/unix_platform.rb, line 160
def directory?(f)
  File.directory? f
end
environment_variables() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 38
def environment_variables
  UnixEnvironmentVariables
end
executable?(f) click to toggle source

Path is executable

# File lib/aruba/platforms/unix_platform.rb, line 170
def executable?(f)
  File.executable?(f)
end
exist?(f) click to toggle source

Path Exists

# File lib/aruba/platforms/unix_platform.rb, line 165
def exist?(f)
  File.exist? f
end
expand_path(path, base) click to toggle source

Expand path

# File lib/aruba/platforms/unix_platform.rb, line 175
def expand_path(path, base)
  File.expand_path(path, base)
end
file?(f) click to toggle source

Exists and is file

# File lib/aruba/platforms/unix_platform.rb, line 155
def file?(f)
  File.file? f
end
filesystem_status() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 46
def filesystem_status
  FilesystemStatus
end
getwd() click to toggle source

Get current working directory

# File lib/aruba/platforms/unix_platform.rb, line 121
def getwd
  Dir.getwd
end
logger() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 58
def logger
  ArubaLogger
end
mkdir(dir_name) click to toggle source

Create directory and subdirectories

# File lib/aruba/platforms/unix_platform.rb, line 107
def mkdir(dir_name)
  dir_name = ::File.expand_path(dir_name)

  ::FileUtils.mkdir_p(dir_name) unless ::File.directory?(dir_name)
end
mv(src, dest) click to toggle source

Move file/directory

# File lib/aruba/platforms/unix_platform.rb, line 145
def mv(src, dest)
  FileUtils.mv(src, dest)
end
relative_command?(path) click to toggle source

Check if command is relative

@return [Boolean]

true
  * bin/command.sh

false
  * /bin/command.sh
  * command.sh
# File lib/aruba/platforms/unix_platform.rb, line 198
def relative_command?(path)
  p = Pathname.new(path)
  p.relative? && p.basename != p
end
relative_path?(path) click to toggle source

Is relative path

# File lib/aruba/platforms/unix_platform.rb, line 185
def relative_path?(path)
  Pathname.new(path).relative?
end
require_matching_files(pattern, base) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 102
def require_matching_files(pattern, base)
  ::Dir.glob(::File.expand_path(pattern, base)).sort.each { |f| require_relative f }
end
rm(paths, options = {}) click to toggle source

Remove file, directory + sub-directories

# File lib/aruba/platforms/unix_platform.rb, line 114
def rm(paths, options = {})
  paths = Array(paths).map { |p| ::File.expand_path(p) }

  FileUtils.rm_r(paths, **options)
end
simple_table(hash, opts = {}) click to toggle source

Transform hash to a string table which can be output on stderr/stdout

# File lib/aruba/platforms/unix_platform.rb, line 223
def simple_table(hash, opts = {})
  SimpleTable.new(hash, opts).to_s
end
term_signal_supported?() click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 245
def term_signal_supported?
  true
end
touch(args, options) click to toggle source

Touch file, directory

# File lib/aruba/platforms/unix_platform.rb, line 135
def touch(args, options)
  FileUtils.touch(args, **options)
end
which(program, path = ENV["PATH"]) click to toggle source

Resolve path for command using the PATH-environment variable

Mostly taken from here: github.com/djberg96/ptools

@param [#to_s] program

The name of the program which should be resolved

@param [String] path

The PATH, a string concatenated with ":", e.g. /usr/bin/:/bin on a
UNIX-system
# File lib/aruba/platforms/unix_platform.rb, line 237
def which(program, path = ENV["PATH"])
  UnixWhich.new.call(program, path)
end
with_environment(env = {}, &block) click to toggle source
# File lib/aruba/platforms/unix_platform.rb, line 78
def with_environment(env = {}, &block)
  LocalEnvironment.new.call(env, &block)
end
write_file(path, content) click to toggle source

Write to file

# File lib/aruba/platforms/unix_platform.rb, line 218
def write_file(path, content)
  File.write(path, content)
end