Sha256: 6fd355d5d714968c0c4e7aaf07e8e3d0d81ae9c7dfbf9a78c2e4b33475445781

Contents?: true

Size: 990 Bytes

Versions: 2

Compression:

Stored size: 990 Bytes

Contents

# frozen_string_literal: true

require 'puppet-strings'
require 'tempfile'

namespace :strings do
  namespace :validate do
    desc 'Validate the reference is up to date'
    task :reference, [:patterns, :debug, :backtrace] do |_t, args|
      filename = 'REFERENCE.md'

      unless File.exist?(filename)
        STDERR.puts "#{filename} does not exist"
        exit 1
      end

      patterns = args[:patterns]
      patterns = patterns.split if patterns
      patterns ||= PuppetStrings::DEFAULT_SEARCH_PATTERNS

      generated = Tempfile.create do |file|
        options = {
          debug: args[:debug] == 'true',
          backtrace: args[:backtrace] == 'true',
          json: false,
          markdown: true,
          path: file,
        }
        PuppetStrings.generate(patterns, options)

        file.read
      end

      existing = File.read(filename)

      if generated != existing
        STDERR.puts "#{filename} is outdated"
        exit 1
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
puppet-strings-3.0.1 lib/puppet-strings/tasks/validate.rb
puppet-strings-3.0.0 lib/puppet-strings/tasks/validate.rb