Sha256: 56cd9a4624af54abdda8b63da9ab4e689be58dabf16a04f8447fee835c545a77

Contents?: true

Size: 640 Bytes

Versions: 1

Compression:

Stored size: 640 Bytes

Contents

PuppetLint.new_check(:topscope_variable) do
  def check
    class_list = (class_indexes + defined_type_indexes)
    # do not check if the code is not part of a class
    return if class_list.first.nil?

    tokens.select { |x| x.type == :VARIABLE }.each do |token|
      next unless /^::[a-z0-9_][a-zA-Z0-9_]+::/.match?(token.value)

      fixed = token.value.sub(/^::/, '')
      notify(
        :warning,
        message: "use $#{fixed} instead of $#{token.value}",
        line: token.line,
        column: token.column,
        token: token,
      )
    end
  end

  def fix(problem)
    problem[:token].value.sub!(/^::/, '')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puppet-lint-topscope-variable-check-2.0.0 lib/puppet-lint/plugins/topscope_variable.rb