Class: Dependabot::Bundler::FileFetcher::GemspecFinder

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/bundler/file_fetcher/gemspec_finder.rb

Overview

Finds the directories of any gemspecs declared using ‘gemspec` in the passed Gemfile.

Instance Method Summary collapse

Constructor Details

#initialize(gemfile:) ⇒ GemspecFinder

Returns a new instance of GemspecFinder.



19
20
21
# File 'lib/dependabot/bundler/file_fetcher/gemspec_finder.rb', line 19

def initialize(gemfile:)
  @gemfile = gemfile
end

Instance Method Details

#gemspec_directoriesObject

Raises:

  • (Dependabot::DependencyFileNotParseable)


24
25
26
27
28
29
# File 'lib/dependabot/bundler/file_fetcher/gemspec_finder.rb', line 24

def gemspec_directories
  result = Prism.parse(T.must(gemfile).content)
  raise Dependabot::DependencyFileNotParseable, T.must(gemfile).path if result.failure?

  find_gemspec_paths(result.value)
end