Class: Serverspec::Type::ChocolateyPackage

Inherits:
Base
  • Object
show all
Defined in:
lib/octopus_serverspec_extensions/type/chocolatey_package.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ChocolateyPackage

Returns a new instance of ChocolateyPackage.



7
8
9
10
# File 'lib/octopus_serverspec_extensions/type/chocolatey_package.rb', line 7

def initialize(name)
  @name = name
  @runner = Specinfra::Runner
end

Instance Method Details

#installed?(provider, version) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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