Sha256: fa150c681f6685553bf9afb9c14f5918335721557a669c744f3dc1257a5258aa

Contents?: true

Size: 623 Bytes

Versions: 1

Compression:

Stored size: 623 Bytes

Contents

# frozen_string_literal: true

require 'spandx/parsers/base'
require 'spandx/parsers/csproj'
require 'spandx/parsers/gemfile_lock'
require 'spandx/parsers/packages_config'
require 'spandx/parsers/pipfile_lock'
require 'spandx/parsers/sln'

module Spandx
  module Parsers
    UNKNOWN = Class.new do
      def self.parse(*_args)
        []
      end
    end

    class << self
      def for(path, catalogue: Spandx::Catalogue.from_git)
        result = ::Spandx::Parsers::Base.find do |x|
          x.matches?(File.basename(path))
        end

        result&.new(catalogue: catalogue) || UNKNOWN
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spandx-0.2.0 lib/spandx/parsers.rb