Sha256: f93c81479630bc0b2d51d63dad2fb4134c7b3b0cbdb424640d4a25e5268e8b57
Contents?: true
Size: 869 Bytes
Versions: 2
Compression:
Stored size: 869 Bytes
Contents
# frozen_string_literal: true module Spandx module Terraform module Parsers class LockFile < ::Spandx::Core::Parser def initialize @parser = Hcl2::Parser.new end def match?(pathname) basename = pathname.basename basename.fnmatch?('.terraform.lock.hcl') end def parse(path) tree = @parser.parse(path.read) tree[:blocks].map do |block| version_arg = version_arg_from(block) ::Spandx::Core::Dependency.new( name: block[:name].to_s, version: version_arg[:value]&.to_s, path: path ) end end private def version_arg_from(block) block[:arguments].find do |x| x[:name] == 'version' end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
spandx-0.18.3 | lib/spandx/terraform/parsers/lock_file.rb |
spandx-0.18.2 | lib/spandx/terraform/parsers/lock_file.rb |