class Ameba::Rule::Naming::VariableNames
   
  - Ameba::Rule::Naming::VariableNames
- Ameba::Rule::Base
- Reference
- Object
Overview
A rule that enforces variable names to be in underscored case.
For example, these variable names are considered valid:
var_name = 1
name = 2
_another_good_name = 3And these are invalid variable names:
myBadNamedVar = 1
wrong_Name = 2YAML configuration example:
Naming/VariableNames:
  Enabled: trueIncluded Modules
- YAML::Serializable
- YAML::Serializable::Strict
Defined in:
ameba/rule/naming/variable_names.crConstant Summary
- 
        MSG = "Var name should be underscore-cased: %s, not %s"
Constructors
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- 
        .new(config = nil)
        
          A rule that enforces variable names to be in underscored case. 
Class Method Summary
- 
        .parsed_doc : String | Nil
        
          Returns documentation for this rule, if there is any. 
Instance Method Summary
- #description : String
- #description=(description : String)
- #enabled=(enabled : Bool)
- #enabled? : Bool
- #excluded : Array(String) | Nil
- #excluded=(excluded : Array(String) | Nil)
- #severity : Ameba::Severity
- #severity=(severity : Ameba::Severity)
- #test(source, node : Crystal::Var | Crystal::InstanceVar | Crystal::ClassVar)
- 
        #test(source : Source)
        
          This method is designed to test the source passed in. 
Instance methods inherited from class Ameba::Rule::Base
  
  
    
      ==(other)
    ==, 
    
  
    
      catch(source : Source)
    catch, 
    
  
    
      excluded?(source)
    excluded?, 
    
  
    
      group
    group, 
    
  
    
      hash
    hash, 
    
  
    
      name
    name, 
    
  
    
      special?
    special?, 
    
  
    
      test(source : Source, node : Crystal::ASTNode, *opts)test(source : Source) test
Class methods inherited from class Ameba::Rule::Base
  
  
    
      default_severity : Ameba::Severity
    default_severity
    
  
    
  Macros inherited from class Ameba::Rule::Base
  
  
    
      issue_for(*args, **kwargs, &block)
    issue_for
    
  
  
    
    
    
    
  Macros inherited from module Ameba::Config::RuleConfig
  
  
    
      properties(&block)
    properties
    
  
  
    
    
    
    
  
    
    
    
    
  
Constructor Detail
A rule that enforces variable names to be in underscored case.
For example, these variable names are considered valid:
var_name = 1
name = 2
_another_good_name = 3And these are invalid variable names:
myBadNamedVar = 1
wrong_Name = 2YAML configuration example:
Naming/VariableNames:
  Enabled: trueClass Method Detail
Returns documentation for this rule, if there is any.
module Ameba
  # This is a test rule.
  # Does nothing.
  class MyRule < Ameba::Rule::Base
    def test(source)
    end
  end
end
MyRule.parsed_doc # => "This is a test rule.\nDoes nothing."Instance Method Detail
This method is designed to test the source passed in. If source has issues that are tested by this rule, it should add an issue.
By default it uses a node visitor to traverse all the nodes in the source.
NOTE Must be overridden for other type of rules.