class
   Ameba::Rule::Lint::SelfInitializeDefinition
   
  - Ameba::Rule::Lint::SelfInitializeDefinition
- Ameba::Rule::Base
- Reference
- Object
Overview
A rule that reports usage of initialize method definition with a self receiver.
Such definitions are almost always a typo.
For example, this is considered invalid:
class Foo
  def self.initialize
  end
endAnd should be written as:
class Foo
  def initialize
  end
endYAML configuration example:
Lint/SelfInitializeDefinition:
  Enabled: trueIncluded Modules
- YAML::Serializable
- YAML::Serializable::Strict
Defined in:
ameba/rule/lint/self_initialize_definition.crConstant Summary
- 
        MSG = "`initialize` method definition should not have a receiver"
Constructors
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- 
        .new(config = nil)
        
          A rule that reports usage of initializemethod definition with aselfreceiver.
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)
- #since_version : SemanticVersion | Nil
- #since_version=(since_version : String)
- #test(source, node : Crystal::Def)
- 
        #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(hasher)
    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 reports usage of initialize method definition with a self receiver.
Such definitions are almost always a typo.
For example, this is considered invalid:
class Foo
  def self.initialize
  end
endAnd should be written as:
class Foo
  def initialize
  end
endYAML configuration example:
Lint/SelfInitializeDefinition:
  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.