Class: Aruba::Platforms::UnixPlatform
- Inherits:
-
Object
- Object
- Aruba::Platforms::UnixPlatform
- Defined in:
- lib/aruba/platforms/unix_platform.rb
Overview
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
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#absolute_path?(path) ⇒ Boolean
Is absolute path.
- #announcer ⇒ Object
- #builtin_shell_commands ⇒ Object
-
#chdir(dir_name, &block) ⇒ Object
Change to directory.
-
#chmod(mode, args, options) ⇒ Object
Change mode of file/directory.
-
#command?(path) ⇒ Boolean
Check if command is relative.
- #command_monitor ⇒ Object
- #command_string ⇒ Object
-
#cp(src, dest) ⇒ Object
Copy file/directory.
- #create_file(*args) ⇒ Object
- #create_fixed_size_file(*args) ⇒ Object
- #current_ruby ⇒ Object
- #default_shell ⇒ Object
- #deprecated(msg) ⇒ Object
- #detect_ruby(cmd) ⇒ Object
- #determine_disk_usage(paths) ⇒ Object
- #determine_file_size(*args) ⇒ Object
-
#directory?(f) ⇒ Boolean
Exists and is directory.
- #environment_variables ⇒ Object
-
#executable?(f) ⇒ Boolean
Path is executable.
-
#exist?(f) ⇒ Boolean
Path Exists.
-
#expand_path(path, base) ⇒ Object
Expand path.
-
#file?(f) ⇒ Boolean
Exists and is file.
- #filesystem_status ⇒ Object
-
#getwd ⇒ Object
Get current working directory.
- #logger ⇒ Object
-
#mkdir(dir_name) ⇒ Object
Create directory and subdirectories.
-
#mv(src, dest) ⇒ Object
Move file/directory.
-
#relative_command?(path) ⇒ Boolean
Check if command is relative.
-
#relative_path?(path) ⇒ Boolean
Is relative path.
- #require_matching_files(pattern, base) ⇒ Object
-
#rm(paths, options = {}) ⇒ Object
Remove file, directory + sub-directories.
-
#simple_table(hash, opts = {}) ⇒ Object
Transform hash to a string table which can be output on stderr/stdout.
-
#touch(args, options) ⇒ Object
Touch file, directory.
-
#which(program, path = ENV['PATH']) ⇒ Object
Resolve path for command using the PATH-environment variable.
- #with_environment(env = {}, &block) ⇒ Object
-
#write_file(path, content) ⇒ Object
Write to file.
Class Method Details
.match? ⇒ Boolean
33 34 35 |
# File 'lib/aruba/platforms/unix_platform.rb', line 33 def self.match? !FFI::Platform.windows? end |
Instance Method Details
#absolute_path?(path) ⇒ Boolean
Is absolute path
179 180 181 |
# File 'lib/aruba/platforms/unix_platform.rb', line 179 def absolute_path?(path) Pathname.new(path).absolute? end |
#announcer ⇒ Object
49 50 51 |
# File 'lib/aruba/platforms/unix_platform.rb', line 49 def announcer Announcer end |
#builtin_shell_commands ⇒ Object
240 241 242 |
# File 'lib/aruba/platforms/unix_platform.rb', line 240 def builtin_shell_commands [] end |
#chdir(dir_name, &block) ⇒ Object
Change to directory
125 126 127 128 129 130 131 |
# File 'lib/aruba/platforms/unix_platform.rb', line 125 def chdir(dir_name, &block) dir_name = ::File.(dir_name.to_s) with_environment 'OLDPWD' => getwd, 'PWD' => dir_name do ::Dir.chdir(dir_name, &block) end end |
#chmod(mode, args, options) ⇒ Object
Change mode of file/directory
149 150 151 |
# File 'lib/aruba/platforms/unix_platform.rb', line 149 def chmod(mode, args, ) FileUtils.chmod_R(mode, args, **) end |
#command?(path) ⇒ Boolean
Check if command is relative
211 212 213 214 |
# File 'lib/aruba/platforms/unix_platform.rb', line 211 def command?(path) p = Pathname.new(path) p.relative? && p.basename == p end |
#command_monitor ⇒ Object
53 54 55 |
# File 'lib/aruba/platforms/unix_platform.rb', line 53 def command_monitor CommandMonitor end |
#command_string ⇒ Object
41 42 43 |
# File 'lib/aruba/platforms/unix_platform.rb', line 41 def command_string UnixCommandString end |
#cp(src, dest) ⇒ Object
Copy file/directory
139 140 141 |
# File 'lib/aruba/platforms/unix_platform.rb', line 139 def cp(src, dest) FileUtils.cp_r(src, dest) end |
#create_file(*args) ⇒ Object
69 70 71 |
# File 'lib/aruba/platforms/unix_platform.rb', line 69 def create_file(*args) ArubaFileCreator.new.call(*args) end |
#create_fixed_size_file(*args) ⇒ Object
73 74 75 |
# File 'lib/aruba/platforms/unix_platform.rb', line 73 def create_fixed_size_file(*args) ArubaFixedSizeFileCreator.new.call(*args) end |
#current_ruby ⇒ Object
97 98 99 |
# File 'lib/aruba/platforms/unix_platform.rb', line 97 def current_ruby ::File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) end |
#default_shell ⇒ Object
81 82 83 |
# File 'lib/aruba/platforms/unix_platform.rb', line 81 def default_shell 'bash' end |
#deprecated(msg) ⇒ Object
93 94 95 |
# File 'lib/aruba/platforms/unix_platform.rb', line 93 def deprecated(msg) warn(format('%s. Called by %s', msg, caller[1])) end |
#detect_ruby(cmd) ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/aruba/platforms/unix_platform.rb', line 85 def detect_ruby(cmd) if /^ruby\s/.match?(cmd) cmd.gsub(/^ruby\s/, "#{current_ruby} ") else cmd end end |
#determine_disk_usage(paths) ⇒ Object
65 66 67 |
# File 'lib/aruba/platforms/unix_platform.rb', line 65 def determine_disk_usage(paths) DetermineDiskUsage.new.call(paths) end |
#determine_file_size(*args) ⇒ Object
61 62 63 |
# File 'lib/aruba/platforms/unix_platform.rb', line 61 def determine_file_size(*args) DetermineFileSize.new.call(*args) end |
#directory?(f) ⇒ Boolean
Exists and is directory
159 160 161 |
# File 'lib/aruba/platforms/unix_platform.rb', line 159 def directory?(f) File.directory? f end |
#environment_variables ⇒ Object
37 38 39 |
# File 'lib/aruba/platforms/unix_platform.rb', line 37 def environment_variables UnixEnvironmentVariables end |
#executable?(f) ⇒ Boolean
Path is executable
169 170 171 |
# File 'lib/aruba/platforms/unix_platform.rb', line 169 def executable?(f) File.executable?(f) end |
#exist?(f) ⇒ Boolean
Path Exists
164 165 166 |
# File 'lib/aruba/platforms/unix_platform.rb', line 164 def exist?(f) File.exist? f end |
#expand_path(path, base) ⇒ Object
Expand path
174 175 176 |
# File 'lib/aruba/platforms/unix_platform.rb', line 174 def (path, base) File.(path, base) end |
#file?(f) ⇒ Boolean
Exists and is file
154 155 156 |
# File 'lib/aruba/platforms/unix_platform.rb', line 154 def file?(f) File.file? f end |
#filesystem_status ⇒ Object
45 46 47 |
# File 'lib/aruba/platforms/unix_platform.rb', line 45 def filesystem_status FilesystemStatus end |
#getwd ⇒ Object
Get current working directory
120 121 122 |
# File 'lib/aruba/platforms/unix_platform.rb', line 120 def getwd Dir.getwd end |
#logger ⇒ Object
57 58 59 |
# File 'lib/aruba/platforms/unix_platform.rb', line 57 def logger ArubaLogger end |
#mkdir(dir_name) ⇒ Object
Create directory and subdirectories
106 107 108 109 110 |
# File 'lib/aruba/platforms/unix_platform.rb', line 106 def mkdir(dir_name) dir_name = ::File.(dir_name) ::FileUtils.mkdir_p(dir_name) unless ::File.directory?(dir_name) end |
#mv(src, dest) ⇒ Object
Move file/directory
144 145 146 |
# File 'lib/aruba/platforms/unix_platform.rb', line 144 def mv(src, dest) FileUtils.mv(src, dest) end |
#relative_command?(path) ⇒ Boolean
Check if command is relative
197 198 199 200 |
# File 'lib/aruba/platforms/unix_platform.rb', line 197 def relative_command?(path) p = Pathname.new(path) p.relative? && p.basename != p end |
#relative_path?(path) ⇒ Boolean
Is relative path
184 185 186 |
# File 'lib/aruba/platforms/unix_platform.rb', line 184 def relative_path?(path) Pathname.new(path).relative? end |
#require_matching_files(pattern, base) ⇒ Object
101 102 103 |
# File 'lib/aruba/platforms/unix_platform.rb', line 101 def require_matching_files(pattern, base) ::Dir.glob(::File.(pattern, base)).each { |f| require_relative f } end |
#rm(paths, options = {}) ⇒ Object
Remove file, directory + sub-directories
113 114 115 116 117 |
# File 'lib/aruba/platforms/unix_platform.rb', line 113 def rm(paths, = {}) paths = Array(paths).map { |p| ::File.(p) } FileUtils.rm_r(paths, **) end |
#simple_table(hash, opts = {}) ⇒ Object
Transform hash to a string table which can be output on stderr/stdout
222 223 224 |
# File 'lib/aruba/platforms/unix_platform.rb', line 222 def simple_table(hash, opts = {}) SimpleTable.new(hash, opts).to_s end |
#touch(args, options) ⇒ Object
Touch file, directory
134 135 136 |
# File 'lib/aruba/platforms/unix_platform.rb', line 134 def touch(args, ) FileUtils.touch(args, **) end |
#which(program, path = ENV['PATH']) ⇒ Object
Resolve path for command using the PATH-environment variable
Mostly taken from here: https://github.com/djberg96/ptools
236 237 238 |
# File 'lib/aruba/platforms/unix_platform.rb', line 236 def which(program, path = ENV['PATH']) UnixWhich.new.call(program, path) end |
#with_environment(env = {}, &block) ⇒ Object
77 78 79 |
# File 'lib/aruba/platforms/unix_platform.rb', line 77 def with_environment(env = {}, &block) LocalEnvironment.new.call(env, &block) end |
#write_file(path, content) ⇒ Object
Write to file
217 218 219 |
# File 'lib/aruba/platforms/unix_platform.rb', line 217 def write_file(path, content) File.write(path, content) end |