class RuboCop::Cop::Naming::HeredocDelimiterNaming
Checks that your heredocs are using meaningful delimiters. By default it disallows ‘END` and `EO*`, and can be configured through forbidden listing additional delimiters.
@example
# good <<-SQL SELECT * FROM foo SQL # bad <<-END SELECT * FROM foo END # bad <<-EOS SELECT * FROM foo EOS
Constants
- MSG
Public Instance Methods
Source
# File lib/rubocop/cop/naming/heredoc_delimiter_naming.rb, line 31 def on_heredoc(node) return if meaningful_delimiters?(node) range = node.children.empty? ? node : node.loc.heredoc_end add_offense(range) end
Private Instance Methods
Source
# File lib/rubocop/cop/naming/heredoc_delimiter_naming.rb, line 51 def forbidden_delimiters cop_config['ForbiddenDelimiters'] || [] end
Source
# File lib/rubocop/cop/naming/heredoc_delimiter_naming.rb, line 41 def meaningful_delimiters?(node) delimiters = delimiter_string(node) return false unless /\w/.match?(delimiters) forbidden_delimiters.none? do |forbidden_delimiter| Regexp.new(forbidden_delimiter).match?(delimiters) end end