Sha256: 4814a46e556f4305a67e0835410951bd235d84221f5fe5f466ef68356e41131c

Contents?: true

Size: 681 Bytes

Versions: 13

Compression:

Stored size: 681 Bytes

Contents

# frozen_string_literal: true

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

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

        private

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spandx-0.19.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.18.3 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.18.2 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.18.1 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.18.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.17.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.16.1 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.16.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.15.1 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.15.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.14.0 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.13.5 lib/spandx/dotnet/parsers/csproj.rb
spandx-0.13.4 lib/spandx/dotnet/parsers/csproj.rb