Sha256: 545d549d99439248b008d2b52700d94bc98f85c7c74ef97c748506973ca5c703

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

require 'pdk'
require 'pdk/cli/exec'
require 'pdk/validators/base_validator'
require 'pdk/util/bundler'

module PDK
  module Validate
    class Metadata < BaseValidator
      def self.name
        'metadata'
      end

      def self.cmd
        'metadata-json-lint'
      end

      def self.parse_targets(_options)
        [File.join(PDK::Util.module_root, 'metadata.json')]
      end

      def self.parse_options(_options, targets)
        cmd_options = ['--format', 'json']

        cmd_options.concat(targets)
      end

      def self.parse_output(report, json_data)
        return if json_data.empty?

        json_data.delete('result')
        json_data.keys.each do |type|
          json_data[type].each do |offense|
            report.add_event(
              file:     'metadata.json',
              source:   cmd,
              message:  offense['msg'],
              test:     offense['check'],
              severity: type,
              state:    :failure,
            )
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pdk-0.2.0 lib/pdk/validators/metadata.rb