diff --git a/lib/bundler/audit/cli.rb b/lib/bundler/audit/cli.rb index 8461404f..d89d00cf 100644 --- a/lib/bundler/audit/cli.rb +++ b/lib/bundler/audit/cli.rb @@ -15,7 +15,7 @@ # along with bundler-audit. If not, see . # -require 'bundler/audit/scanner' +require 'bundler/audit/file_scanner' require 'bundler/audit/version' require 'thor' @@ -38,7 +38,7 @@ class CLI < ::Thor def check update if options[:update] - scanner = Scanner.new + scanner = FileScanner.new vulnerable = false scanner.scan(:ignore => options.ignore) do |result| diff --git a/lib/bundler/audit/file_scanner.rb b/lib/bundler/audit/file_scanner.rb new file mode 100644 index 00000000..682da71e --- /dev/null +++ b/lib/bundler/audit/file_scanner.rb @@ -0,0 +1,26 @@ +require 'bundler/audit/scanner' + +module Bundler + module Audit + class FileScanner < Scanner + + # Project root directory + attr_reader :root + + # + # Initializes a file scanner. + # + # @param [String] root + # The path to the project root. + # + # @param [String] gemfile_lock + # Alternative name for the `Gemfile.lock` file. + # + def initialize(root=Dir.pwd,gemfile_lock='Gemfile.lock') + @root = File.expand_path(root) + super(LockfileParser.new(File.read(File.join(@root,gemfile_lock)))) + end + end + end +end + diff --git a/lib/bundler/audit/scanner.rb b/lib/bundler/audit/scanner.rb index 145a0dea..6af44773 100644 --- a/lib/bundler/audit/scanner.rb +++ b/lib/bundler/audit/scanner.rb @@ -22,9 +22,6 @@ class Scanner # @return [Database] attr_reader :database - # Project root directory - attr_reader :root - # The parsed `Gemfile.lock` from the project # # @return [Bundler::LockfileParser] @@ -33,18 +30,12 @@ class Scanner # # Initializes a scanner. # - # @param [String] root - # The path to the project root. - # - # @param [String] gemfile_lock - # Alternative name for the `Gemfile.lock` file. + # @param [Bunder::LockfileParser] lockfile + # A parsed lockfile. # - def initialize(root=Dir.pwd,gemfile_lock='Gemfile.lock') - @root = File.expand_path(root) + def initialize(lockfile) @database = Database.new - @lockfile = LockfileParser.new( - File.read(File.join(@root,gemfile_lock)) - ) + @lockfile = lockfile end # diff --git a/spec/scanner_spec.rb b/spec/file_scanner_spec.rb similarity index 97% rename from spec/scanner_spec.rb rename to spec/file_scanner_spec.rb index 19cc92d9..4fb0210d 100644 --- a/spec/scanner_spec.rb +++ b/spec/file_scanner_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' -require 'bundler/audit/scanner' +require 'bundler/audit/file_scanner' -describe Scanner do +describe FileScanner do describe "#scan" do let(:bundle) { 'unpatched_gems' } let(:directory) { File.join('spec','bundle',bundle) }