Class: Nonnative::GoCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/nonnative/go_command.rb

Instance Method Summary collapse

Constructor Details

#initialize(main, output) ⇒ GoCommand

Returns a new instance of GoCommand.



5
6
7
8
# File 'lib/nonnative/go_command.rb', line 5

def initialize(main, output)
  @main = main
  @output = output
end

Instance Method Details

#executable(cmd, *params) ⇒ Object



10
11
12
13
# File 'lib/nonnative/go_command.rb', line 10

def executable(cmd, *params)
  params = params.join(' ')
  "#{main} #{flags(cmd, params).join(' ')} #{cmd} #{params}"
end

#execute(cmd, *params) ⇒ Object



15
16
17
18
19
# File 'lib/nonnative/go_command.rb', line 15

def execute(cmd, *params)
  Open3.popen3(executable(cmd, params)) do |_stdin, stdout, stderr, wait_thr|
    return stdout.read, stderr.read, wait_thr.value
  end
end