Sha256: 828b2683fbdadbced88f2448e4067e5fddebf0eadb6a43433010abad70f061d8
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
PuppetLint.new_check(:relative_classname_inclusion) do def check tokens.each_with_index do |token, token_idx| if token.type == :NAME && token.value == 'include' s = token.next_code_token in_function = 0 while s.type != :NEWLINE if s.type == :NAME || s.type == :SSTRING if s.next_code_token.type == :LPAREN in_function += 1 elsif in_function > 0 && s.next_code_token.type == :RPAREN in_function -= 1 elsif in_function == 0 && s.value !~ /^::/ notify :warning, { :message => 'class included by relative name', :line => s.line, :column => s.column, :token => s, } end end s = s.next_token end elsif token.type == :CLASS and token.next_code_token.type == :LBRACE s = token.next_code_token while s.type != :COLON if (s.type == :NAME || s.type == :SSTRING) && s.value !~ /^::/ notify :warning, { :message => 'class included by relative name', :line => s.line, :column => s.column, :token => s, } end s = s.next_token end end end end def fix(problem) problem[:token].value = '::'+problem[:token].value end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
puppet-lint-absolute_classname-check-0.1.2 | lib/puppet-lint/plugins/check_absolute_classname.rb |