class RuboCop::Cop::Naming::HeredocDelimiterCase

sql
SELECT * FROM foo
<<-sql
# good
SQL
SELECT * FROM foo
<<-SQL
# bad
@example EnforcedStyle: lowercase
SQL
SELECT * FROM foo
<<-SQL
# good
sql
SELECT * FROM foo
<<-sql
# bad
@example EnforcedStyle: uppercase (default)
By default it is configured to enforce uppercase heredocs.
This cop checks that your heredocs are using the configured case.

def correct_case_delimiters?(node)

def correct_case_delimiters?(node)
  delimiter_string(node) == correct_delimiters(node)
end

def correct_delimiters(node)

def correct_delimiters(node)
  if style == :uppercase
    delimiter_string(node).upcase
  else
    delimiter_string(node).downcase
  end
end

def message(_node)

def message(_node)
  format(MSG, style: style)
end

def on_heredoc(node)

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