class NpmPackage
def info
def info return @info if defined?(@info) cmd = inspec.command("npm ls -g --json #{@package_name}") @info = { name: @package_name, type: 'npm', installed: cmd.exit_status == 0, } return @info unless @info[:installed] pkgs = JSON.parse(cmd.stdout) @info[:version] = pkgs['dependencies'][@package_name]['version'] @info end
def initialize(package_name)
def initialize(package_name) @package_name = package_name @cache = nil end
def installed?
def installed? info[:installed] == true end
def to_s
def to_s "Npm Package #{@package_name}" end
def version
def version info[:version] end