lib/cocaine/command_line/runners/popen_runner.rb in cocaine-0.5.4 vs lib/cocaine/command_line/runners/popen_runner.rb in cocaine-0.5.5

- old
+ new

@@ -11,16 +11,36 @@ self.class.supported? end def call(command, env = {}, options = {}) with_modified_environment(env) do - IO.popen(command, "r", options) do |pipe| + IO.popen(env_command(command), "r", options) do |pipe| pipe.read end end end private + + def env_command(command) + windows_command(command) || java_command(command) || default_command(command) + end + + def windows_command(command) + if OS.windows? + command + end + end + + def java_command(command) + if OS.java? + "env #{command}" + end + end + + def default_command(command) + command + end def with_modified_environment(env, &block) ClimateControl.modify(env, &block) end end