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