class Pult::Executor::Screener

Attributes

runner[R]

Public Class Methods

new(screen, env, params, command) click to toggle source
# File lib/pult/executor/screener.rb, line 11
def initialize screen, env, params, command
  @screen   = screen
  @env      = env
  @params   = params
  @command  = command
end
run!(screen:, env:{}) click to toggle source
# File lib/pult/executor/screener.rb, line 5
def self.run! screen:, env:{}, params:{}, command:''
  screener = new(screen, env, params, command)
  screener.run!
  screener.runner
end

Public Instance Methods

run!() click to toggle source
# File lib/pult/executor/screener.rb, line 18
def run!
  execute!
end

Private Instance Methods

env() click to toggle source
# File lib/pult/executor/screener.rb, line 37
def env
  # TODO
end
execute!() click to toggle source
# File lib/pult/executor/screener.rb, line 24
def execute!
  command = "screen -S #{@screen} -p0 -X stuff \"#{@command}\015\""

  Open3.popen3( @params, command ) do |stdin, stdout, stderr, thr|
    # TODO for screen
    @runner = {
      stdout: stdout.read,
      stderr: stderr.read,
      info:   thr.value
    }
  end
end
params() click to toggle source
# File lib/pult/executor/screener.rb, line 41
def params
  to_var @params
end
to_var(hash) click to toggle source
# File lib/pult/executor/screener.rb, line 45
def to_var hash
  hash.each_with_object([]){|(k, v), o| o<<"#{k}='#{v}'" }.join(' ')
end