Sha256: 2a8804f1995b568c31cab051ab2a39cf5a1abce122156427c78dbdaae40da8bc

Contents?: true

Size: 706 Bytes

Versions: 8

Compression:

Stored size: 706 Bytes

Contents

# frozen_string_literal: true

module Spandx
  module Dotnet
    module Parsers
      class Csproj < ::Spandx::Core::Parser
        def matches?(filename)
          ['.csproj', '.props'].include?(File.extname(filename))
        end

        def parse(lockfile)
          ProjectFile
            .new(lockfile)
            .package_references
            .map { |x| map_from(x) }
        end

        private

        def map_from(package_reference)
          ::Spandx::Core::Dependency.new(
            package_manager: :nuget,
            name: package_reference.name,
            version: package_reference.version,
            meta: package_reference
          )
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spandx-0.13.3 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.13.2 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.13.1 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.13.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.12.3 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.12.2 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.12.1 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.12.0 lib/spandx/dotnet/parsers/csproj.rb