class RuboCop::Cop::Naming::HeredocDelimiterCase

This cop checks that your heredocs are using the configured case. By default it is configured to enforce uppercase heredocs.

@example

# EnforcedStyle: uppercase (default)

# good
<<-SQL
  SELECT * FROM foo
SQL

# bad
<<-sql
  SELECT * FROM foo
sql

@example

# EnforcedStyle: lowercase

# good
<<-sql
  SELECT * FROM foo
sql

# bad
<<-SQL
  SELECT * FROM foo
SQL

Constants

MSG

Public Instance Methods

on_heredoc(node) click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 41
def on_heredoc(node)
  return if correct_case_delimiters?(node)

  add_offense(node, location: :heredoc_end)
end

Private Instance Methods

correct_case_delimiters?(node) click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 53
def correct_case_delimiters?(node)
  delimiter_string(node) == correct_delimiters(node)
end
correct_delimiters(node) click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 57
def correct_delimiters(node)
  if style == :uppercase
    delimiter_string(node).upcase
  else
    delimiter_string(node).downcase
  end
end
message(_node) click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 49
def message(_node)
  format(MSG, style)
end