Class: Dependabot::Nuget::FileParser::PackagesConfigParser

Inherits:
Object
  • Object
show all
Defined in:
lib/dependabot/nuget/file_parser/packages_config_parser.rb

Constant Summary collapse

DEPENDENCY_SELECTOR =
"packages > package"

Instance Method Summary collapse

Constructor Details

#initialize(packages_config:) ⇒ PackagesConfigParser

Returns a new instance of PackagesConfigParser.



18
19
20
# File 'lib/dependabot/nuget/file_parser/packages_config_parser.rb', line 18

def initialize(packages_config:)
  @packages_config = packages_config
end

Instance Method Details

#dependency_setObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/dependabot/nuget/file_parser/packages_config_parser.rb', line 22

def dependency_set
  dependency_set = Dependabot::FileParsers::Base::DependencySet.new

  doc = Nokogiri::XML(packages_config.content)
  doc.remove_namespaces!
  doc.css(DEPENDENCY_SELECTOR).each do |dependency_node|
    dependency_set <<
      Dependency.new(
        name: dependency_name(dependency_node),
        version: dependency_version(dependency_node),
        package_manager: "nuget",
        requirements: [{
          requirement: dependency_version(dependency_node),
          file: packages_config.name,
          groups: [],
          source: nil
        }]
      )
  end

  dependency_set
end