Class: Serverspec::Type::ChocolateyPackage
- Inherits:
-
Base
- Object
- Base
- Serverspec::Type::ChocolateyPackage
- Defined in:
- lib/octopus_serverspec_extensions/type/chocolatey_package.rb
Instance Method Summary collapse
-
#initialize(name) ⇒ ChocolateyPackage
constructor
A new instance of ChocolateyPackage.
- #installed?(provider, version) ⇒ Boolean
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
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 |