Class: Hrw::Scanner::PackageLock
- Inherits:
-
Object
- Object
- Hrw::Scanner::PackageLock
- Defined in:
- lib/hrw/scanner/package_lock.rb
Instance Attribute Summary collapse
-
#package_manager ⇒ Object
readonly
Returns the value of attribute package_manager.
Instance Method Summary collapse
-
#initialize(root = Dir.pwd, lockfile = 'package-lock.json') ⇒ PackageLock
constructor
Class constructor.
-
#scan ⇒ Hash
Scan the lock file.
Constructor Details
#initialize(root = Dir.pwd, lockfile = 'package-lock.json') ⇒ PackageLock
Class constructor
11 12 13 14 15 |
# File 'lib/hrw/scanner/package_lock.rb', line 11 def initialize(root = Dir.pwd, lockfile = 'package-lock.json') @package_manager = 'npm' @root = root @lockfile = lockfile end |
Instance Attribute Details
#package_manager ⇒ Object (readonly)
Returns the value of attribute package_manager.
4 5 6 |
# File 'lib/hrw/scanner/package_lock.rb', line 4 def package_manager @package_manager end |
Instance Method Details
#scan ⇒ Hash
Scan the lock file
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/hrw/scanner/package_lock.rb', line 19 def scan deps = [] obj = JSON.parse(File.read(File.join(@root, @lockfile))) return deps unless obj.key?('dependencies') obj['dependencies'].each_pair do |name, pkg| deps << { name: name, version: pkg['version'] } end deps end |