puppet-lint-class_alignment-check 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 40fcbe1d19cc554f3b3a18fd44e8d252f8d4e7b39d5aea1ae14bb108b84d4ed5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 8909d0c354b917d2516ee7fd29078a2df9523a73b0e50d010eb6d36fb0fcff70
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: aa23065a0ab5698aaef52a521279d871c68d594825fdf31cd1820b2e07fa4d7b427c205b2eb3004d79ad54c3a88b18c4ecc1190507ee02610bfa5aaa90e65799
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f606316e9de223a83e1940daf2d5fca115eb6968116fbe7a5983ce43d7538dd368eb2b145becd227f6602260f58b57b5e9110c9cc2dbc6055d2789aa29b2d39c
         
     | 
| 
         @@ -3,92 +3,6 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            #
         
     | 
| 
       4 
4 
     | 
    
         
             
            # https://puppet.com/docs/puppet/7/style_guide.html#style_guide_classes-param-indentation-alignment
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
            def a_param?(token)
         
     | 
| 
       7 
     | 
    
         
            -
              if token&.prev_code_token&.type == :EQUALS
         
     | 
| 
       8 
     | 
    
         
            -
                false
         
     | 
| 
       9 
     | 
    
         
            -
              elsif token&.prev_code_token&.type == :FARROW
         
     | 
| 
       10 
     | 
    
         
            -
                false
         
     | 
| 
       11 
     | 
    
         
            -
              elsif %i[DQPRE DQMID].include?(token&.prev_code_token&.type)
         
     | 
| 
       12 
     | 
    
         
            -
                false
         
     | 
| 
       13 
     | 
    
         
            -
              elsif token&.type == :VARIABLE
         
     | 
| 
       14 
     | 
    
         
            -
                # first var in the class
         
     | 
| 
       15 
     | 
    
         
            -
                if token&.prev_token_of(:CLASS)&.next_token_of(:LPAREN)&.next_token_of(:VARIABLE) == token
         
     | 
| 
       16 
     | 
    
         
            -
                  return true
         
     | 
| 
       17 
     | 
    
         
            -
                elsif token&.prev_token_of(:DEFINE)&.next_token_of(:LPAREN)&.next_token_of(:VARIABLE) == token
         
     | 
| 
       18 
     | 
    
         
            -
                  return true
         
     | 
| 
       19 
     | 
    
         
            -
                end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                count = 0
         
     | 
| 
       22 
     | 
    
         
            -
                while token&.prev_token
         
     | 
| 
       23 
     | 
    
         
            -
                  token = token.prev_token
         
     | 
| 
       24 
     | 
    
         
            -
                  return false if token.type == :EQUALS
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                  if %i[RPAREN RBRACK RBRACE].include?(token.type)
         
     | 
| 
       27 
     | 
    
         
            -
                    count += 1
         
     | 
| 
       28 
     | 
    
         
            -
                  elsif %i[LPAREN LBRACK LBRACE].include?(token.type)
         
     | 
| 
       29 
     | 
    
         
            -
                    count -= 1
         
     | 
| 
       30 
     | 
    
         
            -
                  end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
                  return true if count.zero? && token.type == :COMMA
         
     | 
| 
       33 
     | 
    
         
            -
                end
         
     | 
| 
       34 
     | 
    
         
            -
              end
         
     | 
| 
       35 
     | 
    
         
            -
            end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            def first_on_the_line?(token, type)
         
     | 
| 
       38 
     | 
    
         
            -
              origin = token
         
     | 
| 
       39 
     | 
    
         
            -
              while token&.prev_token
         
     | 
| 
       40 
     | 
    
         
            -
                token = token.prev_token
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                break if token.type == :NEWLINE
         
     | 
| 
       43 
     | 
    
         
            -
              end
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
              while token&.next_token
         
     | 
| 
       46 
     | 
    
         
            -
                token = token.next_token
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
                break if token.type == type
         
     | 
| 
       49 
     | 
    
         
            -
              end
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
              origin == token
         
     | 
| 
       52 
     | 
    
         
            -
            end
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
            def the_one?(token, character)
         
     | 
| 
       55 
     | 
    
         
            -
              case character
         
     | 
| 
       56 
     | 
    
         
            -
              when '='
         
     | 
| 
       57 
     | 
    
         
            -
                true if token.type == :EQUALS && first_on_the_line?(token, :EQUALS)
         
     | 
| 
       58 
     | 
    
         
            -
              when '$'
         
     | 
| 
       59 
     | 
    
         
            -
                true if a_param?(token) && first_on_the_line?(token, :VARIABLE)
         
     | 
| 
       60 
     | 
    
         
            -
              end
         
     | 
| 
       61 
     | 
    
         
            -
            end
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            def get_the_first_param(token)
         
     | 
| 
       64 
     | 
    
         
            -
              while token&.prev_code_token
         
     | 
| 
       65 
     | 
    
         
            -
                token = token.prev_code_token
         
     | 
| 
       66 
     | 
    
         
            -
                break if token.type == :CLASS
         
     | 
| 
       67 
     | 
    
         
            -
              end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
              while token&.next_code_token
         
     | 
| 
       70 
     | 
    
         
            -
                token = token.next_code_token
         
     | 
| 
       71 
     | 
    
         
            -
                return token if token.type == :VARIABLE
         
     | 
| 
       72 
     | 
    
         
            -
              end
         
     | 
| 
       73 
     | 
    
         
            -
            end
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
            def get_prev_code_token(token, character)
         
     | 
| 
       76 
     | 
    
         
            -
              case character
         
     | 
| 
       77 
     | 
    
         
            -
              when '='
         
     | 
| 
       78 
     | 
    
         
            -
                token.prev_code_token
         
     | 
| 
       79 
     | 
    
         
            -
              when '$'
         
     | 
| 
       80 
     | 
    
         
            -
                if token.prev_code_token
         
     | 
| 
       81 
     | 
    
         
            -
                  if %i[CLASSREF RBRACK].include?(token.prev_code_token.type)
         
     | 
| 
       82 
     | 
    
         
            -
                    token.prev_code_token
         
     | 
| 
       83 
     | 
    
         
            -
                  elsif token.prev_code_token.type == :LPAREN
         
     | 
| 
       84 
     | 
    
         
            -
                    token
         
     | 
| 
       85 
     | 
    
         
            -
                  elsif token.prev_code_token.type == :COMMA
         
     | 
| 
       86 
     | 
    
         
            -
                    get_the_first_param(token)
         
     | 
| 
       87 
     | 
    
         
            -
                  end
         
     | 
| 
       88 
     | 
    
         
            -
                end
         
     | 
| 
       89 
     | 
    
         
            -
              end
         
     | 
| 
       90 
     | 
    
         
            -
            end
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
6 
     | 
    
         
             
            # This function is copied & modified from puppet-lint arrow_alignment check
         
     | 
| 
       93 
7 
     | 
    
         
             
            # https://github.com/puppetlabs/puppet-lint/blob/020143b705b023946739eb44e7c7d99fcd087527/lib/puppet-lint/plugins/check_whitespace/arrow_alignment.rb#L8
         
     | 
| 
       94 
8 
     | 
    
         
             
            def check_for(character)
         
     | 
| 
         @@ -0,0 +1,89 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            def a_param?(token)
         
     | 
| 
      
 2 
     | 
    
         
            +
              if token&.prev_code_token&.type == :EQUALS
         
     | 
| 
      
 3 
     | 
    
         
            +
                false
         
     | 
| 
      
 4 
     | 
    
         
            +
              elsif token&.prev_code_token&.type == :FARROW
         
     | 
| 
      
 5 
     | 
    
         
            +
                false
         
     | 
| 
      
 6 
     | 
    
         
            +
              elsif %i[DQPRE DQMID].include?(token&.prev_code_token&.type)
         
     | 
| 
      
 7 
     | 
    
         
            +
                false
         
     | 
| 
      
 8 
     | 
    
         
            +
              elsif token&.type == :VARIABLE
         
     | 
| 
      
 9 
     | 
    
         
            +
                # first var in the class
         
     | 
| 
      
 10 
     | 
    
         
            +
                return true if token&.prev_token_of(:CLASS)&.next_token_of(:LPAREN)&.next_token_of(:VARIABLE) == token
         
     | 
| 
      
 11 
     | 
    
         
            +
                return true if token&.prev_token_of(:DEFINE)&.next_token_of(:LPAREN)&.next_token_of(:VARIABLE) == token
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                count = 0
         
     | 
| 
      
 14 
     | 
    
         
            +
                while token&.prev_token
         
     | 
| 
      
 15 
     | 
    
         
            +
                  token = token.prev_token
         
     | 
| 
      
 16 
     | 
    
         
            +
                  return false if token.type == :EQUALS
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  if %i[RPAREN RBRACK RBRACE].include?(token.type)
         
     | 
| 
      
 19 
     | 
    
         
            +
                    count += 1
         
     | 
| 
      
 20 
     | 
    
         
            +
                  elsif %i[LPAREN LBRACK LBRACE].include?(token.type)
         
     | 
| 
      
 21 
     | 
    
         
            +
                    count -= 1
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                  return true if count.zero? && token.type == :COMMA
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            def first_on_the_line?(token, type)
         
     | 
| 
      
 30 
     | 
    
         
            +
              origin = token
         
     | 
| 
      
 31 
     | 
    
         
            +
              while token&.prev_token
         
     | 
| 
      
 32 
     | 
    
         
            +
                token = token.prev_token
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                break if token.type == :NEWLINE
         
     | 
| 
      
 35 
     | 
    
         
            +
              end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              while token&.next_token
         
     | 
| 
      
 38 
     | 
    
         
            +
                token = token.next_token
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                break if token.type == type
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              origin == token
         
     | 
| 
      
 44 
     | 
    
         
            +
            end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            def the_one?(token, character)
         
     | 
| 
      
 47 
     | 
    
         
            +
              case character
         
     | 
| 
      
 48 
     | 
    
         
            +
              when '='
         
     | 
| 
      
 49 
     | 
    
         
            +
                true if token.type == :EQUALS && first_on_the_line?(token, :EQUALS)
         
     | 
| 
      
 50 
     | 
    
         
            +
              when '$'
         
     | 
| 
      
 51 
     | 
    
         
            +
                true if a_param?(token) && first_on_the_line?(token, :VARIABLE)
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
      
 53 
     | 
    
         
            +
            end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            def get_the_first_param(token)
         
     | 
| 
      
 56 
     | 
    
         
            +
              while token&.prev_code_token
         
     | 
| 
      
 57 
     | 
    
         
            +
                token = token.prev_code_token
         
     | 
| 
      
 58 
     | 
    
         
            +
                break if token.type == :CLASS
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              while token&.next_code_token
         
     | 
| 
      
 62 
     | 
    
         
            +
                token = token.next_code_token
         
     | 
| 
      
 63 
     | 
    
         
            +
                return token if token.type == :VARIABLE
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            def get_prev_code_token(token, character)
         
     | 
| 
      
 68 
     | 
    
         
            +
              case character
         
     | 
| 
      
 69 
     | 
    
         
            +
              when '='
         
     | 
| 
      
 70 
     | 
    
         
            +
                token.prev_code_token
         
     | 
| 
      
 71 
     | 
    
         
            +
              when '$'
         
     | 
| 
      
 72 
     | 
    
         
            +
                if token.prev_code_token
         
     | 
| 
      
 73 
     | 
    
         
            +
                  if %i[CLASSREF RBRACK].include?(token.prev_code_token.type)
         
     | 
| 
      
 74 
     | 
    
         
            +
                    token.prev_code_token
         
     | 
| 
      
 75 
     | 
    
         
            +
                  elsif token.prev_code_token.type == :LPAREN
         
     | 
| 
      
 76 
     | 
    
         
            +
                    token
         
     | 
| 
      
 77 
     | 
    
         
            +
                  elsif token.prev_code_token.type == :COMMA
         
     | 
| 
      
 78 
     | 
    
         
            +
                    get_the_first_param(token)
         
     | 
| 
      
 79 
     | 
    
         
            +
                  end
         
     | 
| 
      
 80 
     | 
    
         
            +
                end
         
     | 
| 
      
 81 
     | 
    
         
            +
              end
         
     | 
| 
      
 82 
     | 
    
         
            +
            end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            def get_prev_param_token(token)
         
     | 
| 
      
 85 
     | 
    
         
            +
              while token&.prev_code_token
         
     | 
| 
      
 86 
     | 
    
         
            +
                token = token.prev_code_token
         
     | 
| 
      
 87 
     | 
    
         
            +
                return token if a_param?(token)
         
     | 
| 
      
 88 
     | 
    
         
            +
              end
         
     | 
| 
      
 89 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,11 +1,3 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            def prev_param_token(token)
         
     | 
| 
       2 
     | 
    
         
            -
              while token&.prev_code_token
         
     | 
| 
       3 
     | 
    
         
            -
                token = token.prev_code_token
         
     | 
| 
       4 
     | 
    
         
            -
                break if a_param?(token)
         
     | 
| 
       5 
     | 
    
         
            -
              end
         
     | 
| 
       6 
     | 
    
         
            -
              token
         
     | 
| 
       7 
     | 
    
         
            -
            end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
1 
     | 
    
         
             
            PuppetLint.new_check(:class_params_newline) do
         
     | 
| 
       10 
2 
     | 
    
         
             
              def check
         
     | 
| 
       11 
3 
     | 
    
         
             
                (class_indexes + defined_type_indexes).each do |item|
         
     | 
| 
         @@ -47,11 +39,10 @@ PuppetLint.new_check(:class_params_newline) do 
     | 
|
| 
       47 
39 
     | 
    
         | 
| 
       48 
40 
     | 
    
         
             
                    if token.prev_code_token.type == :LPAREN
         
     | 
| 
       49 
41 
     | 
    
         
             
                      next if token.line != token.prev_code_token.line
         
     | 
| 
       50 
     | 
    
         
            -
                    elsif token.line !=  
     | 
| 
      
 42 
     | 
    
         
            +
                    elsif token.line != get_prev_param_token(token).line
         
     | 
| 
       51 
43 
     | 
    
         
             
                      next
         
     | 
| 
       52 
44 
     | 
    
         
             
                    end
         
     | 
| 
       53 
45 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
                    # binding.break
         
     | 
| 
       55 
46 
     | 
    
         
             
                    notify(
         
     | 
| 
       56 
47 
     | 
    
         
             
                      :warning,
         
     | 
| 
       57 
48 
     | 
    
         
             
                      message: "`#{token.to_manifest}` should be in a new line (expected in line #{token.line + 1}, but found it in line #{token.line})",
         
     | 
| 
         @@ -68,12 +59,13 @@ PuppetLint.new_check(:class_params_newline) do 
     | 
|
| 
       68 
59 
     | 
    
         
             
              def fix(problem)
         
     | 
| 
       69 
60 
     | 
    
         
             
                token = problem[:token]
         
     | 
| 
       70 
61 
     | 
    
         
             
                if token.type == :VARIABLE
         
     | 
| 
      
 62 
     | 
    
         
            +
                  case token&.prev_code_token&.type
         
     | 
| 
       71 
63 
     | 
    
         
             
                  # Integer $db_port
         
     | 
| 
       72 
     | 
    
         
            -
                   
     | 
| 
      
 64 
     | 
    
         
            +
                  when :TYPE
         
     | 
| 
       73 
65 
     | 
    
         
             
                    token = token.prev_code_token
         
     | 
| 
       74 
66 
     | 
    
         | 
| 
       75 
67 
     | 
    
         
             
                  # Variant[Undef, Enum['UNSET'], Stdlib::Port] $db_port
         
     | 
| 
       76 
     | 
    
         
            -
                   
     | 
| 
      
 68 
     | 
    
         
            +
                  when :RBRACK
         
     | 
| 
       77 
69 
     | 
    
         
             
                    count = 0
         
     | 
| 
       78 
70 
     | 
    
         
             
                    while token&.prev_code_token
         
     | 
| 
       79 
71 
     | 
    
         
             
                      token = token.prev_code_token
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: puppet-lint-class_alignment-check
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Anh Pham
         
     | 
| 
         @@ -123,6 +123,7 @@ files: 
     | 
|
| 
       123 
123 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       124 
124 
     | 
    
         
             
            - README.md
         
     | 
| 
       125 
125 
     | 
    
         
             
            - lib/puppet-lint/plugins/check_class_alignment.rb
         
     | 
| 
      
 126 
     | 
    
         
            +
            - lib/puppet-lint/plugins/check_class_helper.rb
         
     | 
| 
       126 
127 
     | 
    
         
             
            - lib/puppet-lint/plugins/check_class_params_newline.rb
         
     | 
| 
       127 
128 
     | 
    
         
             
            - spec/puppet-lint/plugins/check_class_equals_alignment_spec.rb
         
     | 
| 
       128 
129 
     | 
    
         
             
            - spec/puppet-lint/plugins/check_class_params_alignment_spec.rb
         
     |