Class: Chef::PowerShell

Inherits:
Object
  • Object
show all
Extended by:
FFI::Library
Defined in:
lib/chef/powershell.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(script) ⇒ Object

Run a command under PowerShell via FFI This implementation requires the managed dll and native wrapper to be in the library search path on Windows (i.e. c:windowssystem32 or in the same location as ruby.exe).

Requires: .NET Framework 4.0 or higher on the target machine.

Parameters:

  • script (String)

    script to run



36
37
38
39
40
# File 'lib/chef/powershell.rb', line 36

def initialize(script)
  raise "Chef::PowerShell can only be used on the Windows platform." unless RUBY_PLATFORM =~ /mswin|mingw32|windows/

  exec(script)
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



26
27
28
# File 'lib/chef/powershell.rb', line 26

def errors
  @errors
end

#resultObject (readonly)

Returns the value of attribute result.



25
26
27
# File 'lib/chef/powershell.rb', line 25

def result
  @result
end

Instance Method Details

#error?Boolean

Returns:

  • (Boolean)


42
43
44
45
46
# File 'lib/chef/powershell.rb', line 42

def error?
  return true if errors.count > 0

  false
end