aruba 1.0.2 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -2
  3. data/CONTRIBUTING.md +18 -22
  4. data/README.md +7 -8
  5. data/exe/aruba +2 -2
  6. data/lib/aruba.rb +1 -1
  7. data/lib/aruba/api.rb +11 -12
  8. data/lib/aruba/api/bundler.rb +19 -3
  9. data/lib/aruba/api/commands.rb +11 -11
  10. data/lib/aruba/api/core.rb +21 -21
  11. data/lib/aruba/api/environment.rb +2 -2
  12. data/lib/aruba/api/filesystem.rb +41 -15
  13. data/lib/aruba/api/text.rb +4 -4
  14. data/lib/aruba/aruba_path.rb +3 -4
  15. data/lib/aruba/basic_configuration.rb +51 -69
  16. data/lib/aruba/cli.rb +7 -7
  17. data/lib/aruba/command.rb +4 -4
  18. data/lib/aruba/config/jruby.rb +9 -9
  19. data/lib/aruba/config_wrapper.rb +2 -2
  20. data/lib/aruba/configuration.rb +36 -46
  21. data/lib/aruba/console.rb +11 -11
  22. data/lib/aruba/console/help.rb +7 -7
  23. data/lib/aruba/contracts/absolute_path.rb +1 -1
  24. data/lib/aruba/contracts/enum.rb +1 -1
  25. data/lib/aruba/contracts/is_power_of_two.rb +1 -1
  26. data/lib/aruba/contracts/relative_path.rb +1 -1
  27. data/lib/aruba/cucumber.rb +7 -7
  28. data/lib/aruba/cucumber/command.rb +41 -49
  29. data/lib/aruba/cucumber/environment.rb +7 -7
  30. data/lib/aruba/cucumber/file.rb +7 -3
  31. data/lib/aruba/cucumber/hooks.rb +29 -29
  32. data/lib/aruba/cucumber/testing_frameworks.rb +18 -18
  33. data/lib/aruba/event_bus.rb +4 -4
  34. data/lib/aruba/event_bus/name_resolver.rb +4 -4
  35. data/lib/aruba/file_size.rb +1 -1
  36. data/lib/aruba/generators/script_file.rb +2 -2
  37. data/lib/aruba/in_config_wrapper.rb +1 -1
  38. data/lib/aruba/initializer.rb +10 -10
  39. data/lib/aruba/matchers/base/base_matcher.rb +1 -1
  40. data/lib/aruba/matchers/base/message_indenter.rb +2 -2
  41. data/lib/aruba/matchers/base/object_formatter.rb +2 -2
  42. data/lib/aruba/matchers/collection.rb +1 -1
  43. data/lib/aruba/matchers/collection/all.rb +1 -1
  44. data/lib/aruba/matchers/collection/include_an_object.rb +2 -2
  45. data/lib/aruba/matchers/command.rb +1 -1
  46. data/lib/aruba/matchers/command/be_successfully_executed.rb +4 -4
  47. data/lib/aruba/matchers/command/have_finished_in_time.rb +1 -1
  48. data/lib/aruba/matchers/command/have_output.rb +1 -1
  49. data/lib/aruba/matchers/directory.rb +1 -1
  50. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +2 -2
  51. data/lib/aruba/matchers/directory/have_sub_directory.rb +3 -3
  52. data/lib/aruba/matchers/environment.rb +1 -1
  53. data/lib/aruba/matchers/file.rb +1 -1
  54. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +1 -1
  55. data/lib/aruba/matchers/file/be_an_existing_executable.rb +2 -2
  56. data/lib/aruba/matchers/file/be_an_existing_file.rb +2 -2
  57. data/lib/aruba/matchers/file/have_file_content.rb +1 -1
  58. data/lib/aruba/matchers/file/have_file_size.rb +1 -1
  59. data/lib/aruba/matchers/file/have_same_file_content.rb +2 -2
  60. data/lib/aruba/matchers/path.rb +1 -1
  61. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +1 -1
  62. data/lib/aruba/matchers/path/be_an_absolute_path.rb +1 -1
  63. data/lib/aruba/matchers/path/be_an_existing_path.rb +1 -1
  64. data/lib/aruba/matchers/path/have_permissions.rb +5 -4
  65. data/lib/aruba/matchers/string.rb +1 -1
  66. data/lib/aruba/matchers/string/include_output_string.rb +1 -1
  67. data/lib/aruba/matchers/string/match_output_string.rb +1 -1
  68. data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
  69. data/lib/aruba/platform.rb +2 -2
  70. data/lib/aruba/platforms/announcer.rb +15 -15
  71. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +1 -1
  72. data/lib/aruba/platforms/aruba_logger.rb +11 -10
  73. data/lib/aruba/platforms/command_monitor.rb +6 -8
  74. data/lib/aruba/platforms/determine_disk_usage.rb +2 -4
  75. data/lib/aruba/platforms/filesystem_status.rb +20 -14
  76. data/lib/aruba/platforms/simple_table.rb +1 -1
  77. data/lib/aruba/platforms/unix_command_string.rb +2 -2
  78. data/lib/aruba/platforms/unix_environment_variables.rb +1 -1
  79. data/lib/aruba/platforms/unix_platform.rb +23 -23
  80. data/lib/aruba/platforms/unix_which.rb +1 -1
  81. data/lib/aruba/platforms/windows_command_string.rb +2 -2
  82. data/lib/aruba/platforms/windows_environment_variables.rb +1 -1
  83. data/lib/aruba/platforms/windows_platform.rb +7 -7
  84. data/lib/aruba/platforms/windows_which.rb +5 -5
  85. data/lib/aruba/processes/basic_process.rb +4 -4
  86. data/lib/aruba/processes/debug_process.rb +5 -5
  87. data/lib/aruba/processes/in_process.rb +8 -8
  88. data/lib/aruba/processes/spawn_process.rb +18 -23
  89. data/lib/aruba/rspec.rb +6 -6
  90. data/lib/aruba/runtime.rb +6 -6
  91. data/lib/aruba/setup.rb +3 -3
  92. data/lib/aruba/version.rb +1 -1
  93. metadata +103 -88
  94. data/.cucumberproignore +0 -3
  95. data/.document +0 -5
  96. data/.github/ISSUE_TEMPLATE.md +0 -48
  97. data/.github/PULL_REQUEST_TEMPLATE.md +0 -41
  98. data/.gitignore +0 -38
  99. data/.rspec +0 -3
  100. data/.rubocop.yml +0 -52
  101. data/.rubocop_todo.yml +0 -216
  102. data/.simplecov +0 -36
  103. data/.travis.yml +0 -62
  104. data/.yardopts +0 -11
  105. data/Dockerfile +0 -67
  106. data/Gemfile +0 -14
  107. data/Rakefile +0 -82
  108. data/TODO.md +0 -13
  109. data/appveyor.yml +0 -28
  110. data/aruba.gemspec +0 -57
  111. data/bin/console +0 -7
  112. data/bin/test +0 -9
  113. data/config/.gitignore +0 -1
  114. data/cucumber.yml +0 -6
  115. data/docker-compose.yml +0 -26
  116. data/fixtures/cli-app/.gitignore +0 -9
  117. data/fixtures/cli-app/.rspec +0 -2
  118. data/fixtures/cli-app/README.md +0 -39
  119. data/fixtures/cli-app/Rakefile +0 -1
  120. data/fixtures/cli-app/bin/aruba-test-cli +0 -6
  121. data/fixtures/cli-app/cli-app.gemspec +0 -26
  122. data/fixtures/cli-app/features/support/aruba.rb +0 -1
  123. data/fixtures/cli-app/features/support/env.rb +0 -1
  124. data/fixtures/cli-app/lib/cli/app.rb +0 -9
  125. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +0 -15
  126. data/fixtures/cli-app/lib/cli/app/version.rb +0 -5
  127. data/fixtures/cli-app/script/console +0 -14
  128. data/fixtures/cli-app/spec/spec_helper.rb +0 -8
  129. data/fixtures/cli-app/spec/support/aruba.rb +0 -1
  130. data/fixtures/copy/file.txt +0 -1
  131. data/fixtures/empty-app/.gitignore +0 -9
  132. data/fixtures/empty-app/.rspec +0 -2
  133. data/fixtures/empty-app/README.md +0 -24
  134. data/fixtures/empty-app/Rakefile +0 -1
  135. data/fixtures/empty-app/cli-app.gemspec +0 -26
  136. data/fixtures/empty-app/lib/cli/app.rb +0 -7
  137. data/fixtures/empty-app/lib/cli/app/version.rb +0 -5
  138. data/fixtures/getting-started-app/.gitignore +0 -4
  139. data/fixtures/getting-started-app/Gemfile +0 -4
  140. data/fixtures/getting-started-app/README.md +0 -3
  141. data/fixtures/getting-started-app/features/support/env.rb +0 -1
  142. data/lib/aruba/extensions/string/strip.rb +0 -25
  143. data/lib/aruba/tasks/docker_helpers.rb +0 -156
@@ -1,4 +1,4 @@
1
- require 'aruba/file_size'
1
+ require "aruba/file_size"
2
2
 
3
3
  module Aruba
4
4
  module Platforms
@@ -7,9 +7,7 @@ module Aruba
7
7
  # @private
8
8
  class DetermineDiskUsage
9
9
  def call(paths)
10
- size = paths.flatten.map do |path|
11
- minimum_disk_space_used path
12
- end.inject(0, &:+)
10
+ size = paths.flatten.sum { |path| minimum_disk_space_used path }
13
11
 
14
12
  FileSize.new(size)
15
13
  end
@@ -1,28 +1,34 @@
1
- require 'forwardable'
2
-
3
1
  module Aruba
4
2
  module Platforms
5
3
  # File System Status object
6
4
  #
7
5
  # This is a wrapper for File::Stat returning only a subset of information.
8
6
  class FilesystemStatus
9
- METHODS = [
10
- :executable?,
11
- :ctime,
12
- :atime,
13
- :mtime,
14
- :size
15
- ].freeze
16
-
17
- extend Forwardable
18
-
19
7
  private
20
8
 
21
9
  attr_reader :status
22
10
 
23
11
  public
24
12
 
25
- def_delegators :@status, *METHODS
13
+ def executable?
14
+ status.executable?
15
+ end
16
+
17
+ def ctime
18
+ status.ctime
19
+ end
20
+
21
+ def atime
22
+ status.atime
23
+ end
24
+
25
+ def mtime
26
+ status.mtime
27
+ end
28
+
29
+ def size
30
+ status.size
31
+ end
26
32
 
27
33
  def initialize(path)
28
34
  @status = File::Stat.new(path)
@@ -30,7 +36,7 @@ module Aruba
30
36
 
31
37
  # Return permissions
32
38
  def mode
33
- format('%o', status.mode)[-4, 4].gsub(/^0*/, '')
39
+ format("%o", status.mode)[-4, 4].gsub(/^0*/, "")
34
40
  end
35
41
 
36
42
  # Return owner
@@ -27,7 +27,7 @@ module Aruba
27
27
  # The table
28
28
  def to_s
29
29
  longest_key = hash.keys.map(&:to_s).max_by(&:length)
30
- return '' if longest_key.nil?
30
+ return "" if longest_key.nil?
31
31
 
32
32
  name_size = longest_key.length
33
33
 
@@ -1,5 +1,5 @@
1
- require 'delegate'
2
- require 'shellwords'
1
+ require "delegate"
2
+ require "shellwords"
3
3
 
4
4
  # Aruba
5
5
  module Aruba
@@ -11,7 +11,7 @@ module Aruba
11
11
  def initialize(other_env, &block)
12
12
  @other_env = other_env.to_h.transform_values(&:to_s)
13
13
 
14
- @block = (block if block_given?)
14
+ @block = block
15
15
  end
16
16
 
17
17
  def call(env)
@@ -1,20 +1,20 @@
1
- require 'rbconfig'
2
- require 'pathname'
3
-
4
- require 'aruba/aruba_path'
5
-
6
- require 'aruba/platforms/simple_table'
7
- require 'aruba/platforms/unix_command_string'
8
- require 'aruba/platforms/unix_which'
9
- require 'aruba/platforms/determine_file_size'
10
- require 'aruba/platforms/determine_disk_usage'
11
- require 'aruba/platforms/aruba_file_creator'
12
- require 'aruba/platforms/aruba_fixed_size_file_creator'
13
- require 'aruba/platforms/local_environment'
14
- require 'aruba/platforms/aruba_logger'
15
- require 'aruba/platforms/announcer'
16
- require 'aruba/platforms/command_monitor'
17
- require 'aruba/platforms/filesystem_status'
1
+ require "rbconfig"
2
+ require "pathname"
3
+
4
+ require "aruba/aruba_path"
5
+
6
+ require "aruba/platforms/simple_table"
7
+ require "aruba/platforms/unix_command_string"
8
+ require "aruba/platforms/unix_which"
9
+ require "aruba/platforms/determine_file_size"
10
+ require "aruba/platforms/determine_disk_usage"
11
+ require "aruba/platforms/aruba_file_creator"
12
+ require "aruba/platforms/aruba_fixed_size_file_creator"
13
+ require "aruba/platforms/local_environment"
14
+ require "aruba/platforms/aruba_logger"
15
+ require "aruba/platforms/announcer"
16
+ require "aruba/platforms/command_monitor"
17
+ require "aruba/platforms/filesystem_status"
18
18
 
19
19
  # Aruba
20
20
  module Aruba
@@ -31,7 +31,7 @@ module Aruba
31
31
  # @private
32
32
  class UnixPlatform
33
33
  def self.match?
34
- !FFI::Platform.windows?
34
+ !Cucumber::WINDOWS
35
35
  end
36
36
 
37
37
  def environment_variables
@@ -79,7 +79,7 @@ module Aruba
79
79
  end
80
80
 
81
81
  def default_shell
82
- 'bash'
82
+ "bash"
83
83
  end
84
84
 
85
85
  def detect_ruby(cmd)
@@ -91,11 +91,11 @@ module Aruba
91
91
  end
92
92
 
93
93
  def deprecated(msg)
94
- warn(format('%s. Called by %s', msg, caller[1]))
94
+ warn(format("%s. Called by %s", msg, caller[1]))
95
95
  end
96
96
 
97
97
  def current_ruby
98
- ::File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
98
+ ::File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"])
99
99
  end
100
100
 
101
101
  def require_matching_files(pattern, base)
@@ -125,7 +125,7 @@ module Aruba
125
125
  def chdir(dir_name, &block)
126
126
  dir_name = ::File.expand_path(dir_name.to_s)
127
127
 
128
- with_environment 'OLDPWD' => getwd, 'PWD' => dir_name do
128
+ with_environment "OLDPWD" => getwd, "PWD" => dir_name do
129
129
  ::Dir.chdir(dir_name, &block)
130
130
  end
131
131
  end
@@ -233,7 +233,7 @@ module Aruba
233
233
  # @param [String] path
234
234
  # The PATH, a string concatenated with ":", e.g. /usr/bin/:/bin on a
235
235
  # UNIX-system
236
- def which(program, path = ENV['PATH'])
236
+ def which(program, path = ENV["PATH"])
237
237
  UnixWhich.new.call(program, path)
238
238
  end
239
239
 
@@ -70,7 +70,7 @@ module Aruba
70
70
  #
71
71
  # @param [String] path
72
72
  # ENV['PATH']
73
- def call(program, path = ENV['PATH'])
73
+ def call(program, path = ENV["PATH"])
74
74
  raise ArgumentError, "ENV['PATH'] cannot be empty" if path.nil? || path.empty?
75
75
 
76
76
  program = program.to_s
@@ -15,7 +15,7 @@ module Aruba
15
15
 
16
16
  # Convert to array
17
17
  def to_a
18
- [cmd_path, '/c', [escaped_command, *escaped_arguments].join(' ')]
18
+ [cmd_path, "/c", [escaped_command, *escaped_arguments].join(" ")]
19
19
  end
20
20
 
21
21
  private
@@ -30,7 +30,7 @@ module Aruba
30
30
  end
31
31
 
32
32
  def cmd_path
33
- Aruba.platform.which('cmd.exe')
33
+ Aruba.platform.which("cmd.exe")
34
34
  end
35
35
  end
36
36
  end
@@ -1,4 +1,4 @@
1
- require 'aruba/platforms/unix_environment_variables'
1
+ require "aruba/platforms/unix_environment_variables"
2
2
 
3
3
  # Aruba
4
4
  module Aruba
@@ -1,9 +1,9 @@
1
- require 'ffi'
1
+ require "cucumber/platform"
2
2
 
3
- require 'aruba/platforms/unix_platform'
4
- require 'aruba/platforms/windows_command_string'
5
- require 'aruba/platforms/windows_environment_variables'
6
- require 'aruba/platforms/windows_which'
3
+ require "aruba/platforms/unix_platform"
4
+ require "aruba/platforms/windows_command_string"
5
+ require "aruba/platforms/windows_environment_variables"
6
+ require "aruba/platforms/windows_which"
7
7
 
8
8
  # Aruba
9
9
  module Aruba
@@ -20,7 +20,7 @@ module Aruba
20
20
  # @private
21
21
  class WindowsPlatform < UnixPlatform
22
22
  def self.match?
23
- FFI::Platform.windows?
23
+ Cucumber::WINDOWS
24
24
  end
25
25
 
26
26
  # @see UnixPlatform#command_string
@@ -34,7 +34,7 @@ module Aruba
34
34
  end
35
35
 
36
36
  # @see UnixPlatform#which
37
- def which(program, path = ENV['PATH'])
37
+ def which(program, path = ENV["PATH"])
38
38
  WindowsWhich.new.call(program, path)
39
39
  end
40
40
 
@@ -49,7 +49,7 @@ module Aruba
49
49
  file = File.join(dir, program)
50
50
  # Dir[] doesn't handle backslashes properly, so convert them. Also, if
51
51
  # the program name doesn't have an extension, try them all.
52
- file = file.tr('\\', '/')
52
+ file = file.tr('\\', "/")
53
53
 
54
54
  found = Dir[file].first
55
55
 
@@ -84,7 +84,7 @@ module Aruba
84
84
  #
85
85
  # @param [String] path
86
86
  # ENV['PATH']
87
- def call(program, path = ENV['PATH'])
87
+ def call(program, path = ENV["PATH"])
88
88
  raise ArgumentError, "ENV['PATH'] cannot be empty" if path.nil? || path.empty?
89
89
 
90
90
  program = program.to_s
@@ -96,10 +96,10 @@ module Aruba
96
96
  private
97
97
 
98
98
  def windows_executable_extentions
99
- if ENV['PATHEXT']
100
- format('.{%s}', ENV['PATHEXT'].tr(';', ',').tr('.', '')).downcase
99
+ if ENV["PATHEXT"]
100
+ format(".{%s}", ENV["PATHEXT"].tr(";", ",").tr(".", "")).downcase
101
101
  else
102
- '.{exe,com,bat}'
102
+ ".{exe,com,bat}"
103
103
  end
104
104
  end
105
105
  end
@@ -1,5 +1,5 @@
1
- require 'aruba/platform'
2
- require 'shellwords'
1
+ require "aruba/platform"
2
+ require "shellwords"
3
3
 
4
4
  # Aruba
5
5
  module Aruba
@@ -14,7 +14,7 @@ module Aruba
14
14
  attr_reader :exit_status, :environment, :working_directory, :main_class,
15
15
  :io_wait_timeout, :exit_timeout, :startup_wait_time, :stop_signal
16
16
 
17
- def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
17
+ def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
18
18
  environment = Aruba.platform.environment_variables.hash_from_env,
19
19
  main_class = nil, stop_signal = nil, startup_wait_time = 0)
20
20
  @cmd = cmd
@@ -135,7 +135,7 @@ module Aruba
135
135
  def truncate(string, max_length)
136
136
  return string if string.length <= max_length
137
137
 
138
- string[0, max_length - 1] + ' ...'
138
+ "#{string[0, max_length - 1]} ..."
139
139
  end
140
140
  end
141
141
  end
@@ -1,4 +1,4 @@
1
- require 'aruba/processes/spawn_process'
1
+ require "aruba/processes/spawn_process"
2
2
 
3
3
  # Aruba
4
4
  module Aruba
@@ -41,8 +41,8 @@ module Aruba
41
41
  # @return [String]
42
42
  # A predefined string to make users aware they are using the DebugProcess
43
43
  def stdout(*)
44
- 'This is the debug launcher on STDOUT.' \
45
- ' If this output is unexpected, please check your setup.'
44
+ "This is the debug launcher on STDOUT." \
45
+ " If this output is unexpected, please check your setup."
46
46
  end
47
47
 
48
48
  # Return stderr
@@ -50,8 +50,8 @@ module Aruba
50
50
  # @return [String]
51
51
  # A predefined string to make users aware they are using the DebugProcess
52
52
  def stderr(*)
53
- 'This is the debug launcher on STDERR.' \
54
- ' If this output is unexpected, please check your setup.'
53
+ "This is the debug launcher on STDERR." \
54
+ " If this output is unexpected, please check your setup."
55
55
  end
56
56
 
57
57
  # Write to nothing
@@ -1,7 +1,7 @@
1
- require 'shellwords'
2
- require 'stringio'
3
- require 'aruba/processes/basic_process'
4
- require 'aruba/platform'
1
+ require "shellwords"
2
+ require "stringio"
3
+ require "aruba/processes/basic_process"
4
+ require "aruba/platform"
5
5
 
6
6
  # Aruba
7
7
  module Aruba
@@ -46,7 +46,7 @@ module Aruba
46
46
  # @private
47
47
  attr_reader :main_class
48
48
 
49
- def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
49
+ def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
50
50
  environment = Aruba.platform.environment_variables.hash_from_env,
51
51
  main_class = nil, stop_signal = nil, startup_wait_time = 0)
52
52
  @cmd = cmd
@@ -61,14 +61,14 @@ module Aruba
61
61
 
62
62
  # Start command
63
63
  def start
64
- raise 'You need to call aruba.config.main_class = YourMainClass' unless main_class
64
+ raise "You need to call aruba.config.main_class = YourMainClass" unless main_class
65
65
 
66
66
  @started = true
67
67
 
68
68
  Dir.chdir @working_directory do
69
69
  before_run
70
70
 
71
- Aruba.platform.with_environment environment.merge('PWD' => @working_directory) do
71
+ Aruba.platform.with_environment environment.merge("PWD" => @working_directory) do
72
72
  main_class.new(@argv, @stdin, @stdout, @stderr, @kernel).execute!
73
73
  end
74
74
 
@@ -110,7 +110,7 @@ module Aruba
110
110
  # Close io
111
111
  def close_io(name)
112
112
  unless [:stdin, :stdout, :stderr].include? name
113
- raise ArgumentError, 'Only stdin stdout and stderr are allowed to close'
113
+ raise ArgumentError, "Only stdin stdout and stderr are allowed to close"
114
114
  end
115
115
 
116
116
  get_instance_variable(name.to_sym).close
@@ -1,10 +1,10 @@
1
- require 'childprocess'
2
- require 'tempfile'
3
- require 'shellwords'
1
+ require "childprocess"
2
+ require "tempfile"
3
+ require "shellwords"
4
4
 
5
- require 'aruba/errors'
6
- require 'aruba/processes/basic_process'
7
- require 'aruba/platform'
5
+ require "aruba/errors"
6
+ require "aruba/processes/basic_process"
7
+ require "aruba/platform"
8
8
 
9
9
  # Aruba
10
10
  module Aruba
@@ -48,7 +48,7 @@ module Aruba
48
48
  #
49
49
  # @param [Numeric] startup_wait_time
50
50
  # The amount of seconds to wait after Aruba has started a command.
51
- def initialize(cmd, exit_timeout, io_wait_timeout, working_directory,
51
+ def initialize(cmd, exit_timeout, io_wait_timeout, working_directory, # rubocop:disable Metrics/ParameterLists
52
52
  environment = Aruba.platform.environment_variables.hash_from_env,
53
53
  main_class = nil, stop_signal = nil, startup_wait_time = 0)
54
54
  super
@@ -67,31 +67,28 @@ module Aruba
67
67
  if started?
68
68
  error_message =
69
69
  "Command \"#{commandline}\" has already been started." \
70
- ' Please `#stop` the command first and `#start` it again.' \
71
- ' Alternatively use `#restart`.'
70
+ " Please `#stop` the command first and `#start` it again." \
71
+ " Alternatively use `#restart`."
72
72
  raise CommandAlreadyStartedError, error_message
73
73
  end
74
74
 
75
75
  @started = true
76
76
 
77
77
  @process = ChildProcess.build(*command_string.to_a)
78
- @stdout_file = Tempfile.new('aruba-stdout-')
79
- @stderr_file = Tempfile.new('aruba-stderr-')
78
+ @stdout_file = Tempfile.new("aruba-stdout-")
79
+ @stderr_file = Tempfile.new("aruba-stderr-")
80
80
 
81
81
  @stdout_file.sync = true
82
82
  @stderr_file.sync = true
83
83
 
84
- if RUBY_VERSION >= '1.9'
85
- @stdout_file.set_encoding('ASCII-8BIT')
86
- @stderr_file.set_encoding('ASCII-8BIT')
87
- end
84
+ @stdout_file.set_encoding("ASCII-8BIT")
85
+ @stderr_file.set_encoding("ASCII-8BIT")
88
86
 
89
87
  @exit_status = nil
90
88
  @duplex = true
91
89
 
92
90
  before_run
93
91
 
94
- @process.leader = true
95
92
  @process.io.stdout = @stdout_file
96
93
  @process.io.stderr = @stderr_file
97
94
  @process.duplex = @duplex
@@ -275,12 +272,10 @@ module Aruba
275
272
 
276
273
  def command_path
277
274
  @command_path ||=
278
- begin
279
- if Aruba.platform.builtin_shell_commands.include?(command)
280
- command
281
- else
282
- Aruba.platform.which(command, environment['PATH'])
283
- end
275
+ if Aruba.platform.builtin_shell_commands.include?(command)
276
+ command
277
+ else
278
+ Aruba.platform.which(command, environment["PATH"])
284
279
  end
285
280
  end
286
281
 
@@ -295,7 +290,7 @@ module Aruba
295
290
  data = file.read
296
291
  file.close
297
292
 
298
- data.force_encoding('UTF-8')
293
+ data.force_encoding("UTF-8")
299
294
  end
300
295
  end
301
296
  end