Class: Hrw::Scanner::Gemfile
- Inherits:
-
Object
- Object
- Hrw::Scanner::Gemfile
- Defined in:
- lib/hrw/scanner/gemfile.rb
Overview
Used to scan gem lock file
Instance Attribute Summary collapse
-
#package_manager ⇒ Object
readonly
Returns the value of attribute package_manager.
Instance Method Summary collapse
-
#initialize(root = Dir.pwd, lockfile = 'Gemfile.lock') ⇒ Gemfile
constructor
Initialize a scanner.
-
#scan ⇒ Hash
Scan the lock file.
Constructor Details
#initialize(root = Dir.pwd, lockfile = 'Gemfile.lock') ⇒ Gemfile
Initialize a scanner
20 21 22 23 24 25 26 |
# File 'lib/hrw/scanner/gemfile.rb', line 20 def initialize(root = Dir.pwd, lockfile = 'Gemfile.lock') @package_manager = 'rubygems' @root = File.(root) @lockfile = Bundler::LockfileParser.new( File.read(File.join(@root, lockfile)) ) end |
Instance Attribute Details
#package_manager ⇒ Object (readonly)
Returns the value of attribute package_manager.
13 14 15 |
# File 'lib/hrw/scanner/gemfile.rb', line 13 def package_manager @package_manager end |
Instance Method Details
#scan ⇒ Hash
Scan the lock file
30 31 32 33 34 35 36 37 |
# File 'lib/hrw/scanner/gemfile.rb', line 30 def scan @lockfile.specs.map do |spec| { name: spec.name, version: spec.version.to_s } end end |