Class: Serverspec::Type::NpmPackage
- Inherits:
-
Base
- Object
- Base
- Serverspec::Type::NpmPackage
- Defined in:
- lib/octopus_serverspec_extensions/type/npm_package.rb
Instance Method Summary collapse
-
#initialize(name) ⇒ NpmPackage
constructor
A new instance of NpmPackage.
- #installed?(provider, version) ⇒ Boolean
Constructor Details
#initialize(name) ⇒ NpmPackage
Returns a new instance of NpmPackage.
7 8 9 10 |
# File 'lib/octopus_serverspec_extensions/type/npm_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 27 28 29 |
# File 'lib/octopus_serverspec_extensions/type/npm_package.rb', line 12 def installed?(provider, version) command_result = @runner.run_command("npm list -g #{name}") software = command_result.stdout.split("\n").each_with_object({}) do |s, h| if s.include? "@" package_name, package_version = s.split('@') package_name = package_name.gsub(/.*? /, '') h[String(package_name).strip.downcase] = String(package_version).strip.downcase end h end if (version.nil?) !software[name.downcase].nil? else software[name.downcase] == version end end |