class RuboCop::Cop::Naming::HeredocDelimiterNaming

EOS
SELECT * FROM foo
<<-EOS
# bad
END
SELECT * FROM foo
<<-END
# bad
SQL
SELECT * FROM foo
<<-SQL
# good
@example
blacklisting additional delimiters.
By default it disallows ‘END` and `EO*`, and can be configured through
This cop checks that your heredocs are using meaningful delimiters.

def blacklisted_delimiters

def blacklisted_delimiters
  cop_config['Blacklist'] || []
end

def meaningful_delimiters?(node)

def meaningful_delimiters?(node)
  delimiters = delimiter_string(node)
  return false unless delimiters =~ /\w/
  blacklisted_delimiters.none? do |blacklisted_delimiter|
    delimiters =~ Regexp.new(blacklisted_delimiter)
  end
end

def on_heredoc(node)

def on_heredoc(node)
  return if meaningful_delimiters?(node)
  add_offense(node, location: :heredoc_end)
end