class RuboCop::Cop::Naming::HeredocDelimiterCase
Checks that your heredocs are using the configured case. By default it is configured to enforce uppercase heredocs.
@example EnforcedStyle: uppercase (default)
# bad <<-sql SELECT * FROM foo sql # good <<-SQL SELECT * FROM foo SQL
@example EnforcedStyle: lowercase
# bad <<-SQL SELECT * FROM foo SQL # good <<-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 37 def on_heredoc(node) return if correct_case_delimiters?(node) add_offense(node.loc.heredoc_end) do |corrector| expr = node.source_range corrector.replace(expr, correct_delimiters(expr.source)) corrector.replace(node.loc.heredoc_end, correct_delimiters(delimiter_string(expr))) end end
Private Instance Methods
correct_case_delimiters?(node)
click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 54 def correct_case_delimiters?(node) delimiter_string(node) == correct_delimiters(delimiter_string(node)) end
correct_delimiters(source)
click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 58 def correct_delimiters(source) if style == :uppercase source.upcase else source.downcase end end
message(_node)
click to toggle source
# File lib/rubocop/cop/naming/heredoc_delimiter_case.rb, line 50 def message(_node) format(MSG, style: style) end