class Jisota::ScriptContext

Attributes

logger[RW]
packages[RW]
params[RW]
ssh_session[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/jisota/script_context.rb, line 5
def initialize(options = {})
  @ssh_session = options.fetch(:ssh_session) { nil }
  @logger      = options.fetch(:logger) { NilOutput.new }
  @params      = options.fetch(:params) { Hash.new }
  @packages    = options.fetch(:packages) { Collection.new }
end

Public Instance Methods

command(cmd) click to toggle source
# File lib/jisota/script_context.rb, line 12
def command(cmd)
  ssh_session.command(cmd, logger)
end
param_scope(scope_params) { || ... } click to toggle source
# File lib/jisota/script_context.rb, line 16
def param_scope(scope_params)
  old_params = params
  self.params = scope_params
  result = yield if block_given?
  self.params = old_params
  result
end