align npm resource with info handling

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
This commit is contained in:
Dominik Richter 2015-09-17 16:43:10 +02:00
parent fc9764aa36
commit 508a6889d1

View file

@ -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