class Object

Public Instance Methods

check() click to toggle source
# File lib/puppet-lint/plugins/check_global_resource.rb, line 2
def check
  @secure = secure_ranges

  check_for_global_resources
  check_for_global_includes
end
check_for_global_includes() click to toggle source
# File lib/puppet-lint/plugins/check_global_resource.rb, line 30
def check_for_global_includes
  tokens.each_index do |i|
    token = tokens[i]
    next unless token.type == :NAME && token.value == 'include'

    next if @secure.any? { |s| s[0] < i && s[1] > i }

    notify :error,
           message: "include #{token.next_code_token.value} in global space",
           line: token.line,
           column: token.column
  end
end
check_for_global_resources() click to toggle source
# File lib/puppet-lint/plugins/check_global_resource.rb, line 19
def check_for_global_resources
  resource_indexes.each do |r|
    next if @secure.any? { |s| s[0] < r[:start] && s[1] > r[:end] }

    notify :error,
           message: "Resource #{r[:type].value} in global space",
           line: r[:type].line,
           column: r[:type].column
  end
end
secure_ranges() click to toggle source
# File lib/puppet-lint/plugins/check_global_resource.rb, line 9
def secure_ranges
  secure = []

  class_indexes.each { |c| secure << [c[:start], c[:end]] }
  defined_type_indexes.each { |d| secure << [d[:start], d[:end]] }
  node_indexes.each { |n| secure << [n[:start], n[:end]] }

  secure
end