class Serverspec::Type::ChocolateyPackage

Public Class Methods

new(name) click to toggle source
# File lib/octopus_serverspec_extensions/type/chocolatey_package.rb, line 7
def initialize(name)
  @name = name
  @runner = Specinfra::Runner
end

Public Instance Methods

installed?(provider, version) click to toggle source
# File lib/octopus_serverspec_extensions/type/chocolatey_package.rb, line 12
def installed?(provider, version)
  command_result = @runner.run_command("choco list -l -r #{name}")

  software = command_result.stdout.gsub("\r\n", "\n").split("\n").each_with_object({}) do |s, h|
    v, k = s.split('|')
    h[String(v).strip.downcase] = String(k).strip.downcase
    h
  end

  if (version.nil?)
    !software[name.downcase].nil?
  else
    software[name.downcase] == version
  end
end