class Pronto::BundlerAudit::GemfileLock::Scanner
Pronto::BundlerAudit::GemfileLock::Scanner
scans the given `path` for the given `gem_name` and returns an Integer representing the line number of the gem in the Gemfile.lock file.
Public Class Methods
call(*args)
click to toggle source
# File lib/pronto/bundler_audit/gemfile_lock/scanner.rb, line 19 def self.call(*args) new(*args).call end
new(gem_name:, path: GEMFILE_LOCK_FILENAME)
click to toggle source
# File lib/pronto/bundler_audit/gemfile_lock/scanner.rb, line 10 def initialize(gem_name:, path: GEMFILE_LOCK_FILENAME) unless File.exist?(path) raise ArgumentError, "Gemfile.lock path not found" end @gem_name = gem_name @path = path end
Public Instance Methods
call()
click to toggle source
# File lib/pronto/bundler_audit/gemfile_lock/scanner.rb, line 23 def call determine_relevant_line_number end
Private Instance Methods
determine_relevant_line_number()
click to toggle source
@return [Integer] the line number; or 0 if not found
# File lib/pronto/bundler_audit/gemfile_lock/scanner.rb, line 30 def determine_relevant_line_number line_number = 0 File.foreach(@path).with_index do |line, index| next unless line.include?(@gem_name) line_number = index.next break end line_number end