Sha256: 22200c28f0e1a8478ec72b1e0ee3d6809027d9f79e23b6cbd24f5714a3209296
Contents?: true
Size: 776 Bytes
Versions: 12
Compression:
Stored size: 776 Bytes
Contents
# frozen_string_literal: true module Spandx module Php module Parsers class Composer < ::Spandx::Core::Parser def match?(path) path.basename.fnmatch? 'composer.lock' end def parse(path) items = Set.new composer_lock = Oj.load(path.read) composer_lock['packages'].concat(composer_lock['packages-dev']).each do |dependency| items.add(map_from(path, dependency)) end items end private def map_from(path, dependency) Spandx::Core::Dependency.new( path: path, name: dependency['name'], version: dependency['version'], meta: dependency ) end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems