Sha256: ce9c1e803e7a5a0221740efd5362448597bde73fa32701591250a8d8d1a4d958

Contents?: true

Size: 923 Bytes

Versions: 4

Compression:

Stored size: 923 Bytes

Contents

# frozen_string_literal: true

require 'puppet-strings/yard/handlers/json/base'
require 'puppet-strings/yard/parsers'
require 'puppet-strings/yard/parsers/json/parser'

class PuppetStrings::Yard::Handlers::JSON::TaskHandler < PuppetStrings::Yard::Handlers::JSON::Base
  handles PuppetStrings::Yard::Parsers::JSON::TaskStatement
  namespace_only

  process do
    object = PuppetStrings::Yard::CodeObjects::Task.new(statement)
    register object

    @kind = "Puppet Task #{object.name}."
    @statement = statement

    validate_description
    validate_params
  end

  def validate_description
    log.warn "Missing a description for #{@kind}." if @statement.docstring.empty?
  end

  def validate_params
    unless @statement.parameters.empty?
      @statement.parameters.each do |param, val|
        log.warn "Missing description for param '#{param}' in #{@kind}" if val['description'].nil?
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-strings-2.9.0 lib/puppet-strings/yard/handlers/json/task_handler.rb
puppet-strings-2.8.0 lib/puppet-strings/yard/handlers/json/task_handler.rb
puppet-strings-2.7.0 lib/puppet-strings/yard/handlers/json/task_handler.rb
puppet-strings-2.6.0 lib/puppet-strings/yard/handlers/json/task_handler.rb