mirror of
https://github.com/inspec/inspec
synced 2024-11-23 13:13:22 +00:00
align npm resource with info handling
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
This commit is contained in:
parent
fc9764aa36
commit
508a6889d1
1 changed files with 10 additions and 7 deletions
|
@ -13,23 +13,26 @@ class NpmPackage < Vulcano.resource(1)
|
|||
end
|
||||
|
||||
def info
|
||||
return @cache if !@cache.nil?
|
||||
return @info unless @info.nil?
|
||||
|
||||
cmd = vulcano.run_command("npm ls -g --json #{@package_name}")
|
||||
return nil if cmd.exit_status != 0
|
||||
pkgs = JSON.parse(cmd.stdout)
|
||||
@cache = {
|
||||
@info = {
|
||||
name: @package_name,
|
||||
version: pkgs['dependencies'][@package_name]['version'],
|
||||
type: 'npm',
|
||||
installed: cmd.exit_status != 0,
|
||||
}
|
||||
return @info unless @info[:installed]
|
||||
|
||||
pkgs = JSON.parse(cmd.stdout)
|
||||
@info[version] = pkgs['dependencies'][@package_name]['version']
|
||||
end
|
||||
|
||||
def installed?
|
||||
!info.nil?
|
||||
info[:installed]
|
||||
end
|
||||
|
||||
def version
|
||||
info.nil? ? nil : info[:version]
|
||||
info[:version]
|
||||
end
|
||||
|
||||
def to_s
|
||||
|
|
Loading…
Reference in a new issue