lib/rubocop/cop/rspec/mixin/final_end_location.rb
# frozen_string_literal: true
module RuboCop
module Cop
module RSpec
# Helps find the true end location of nodes which might contain heredocs.
module FinalEndLocation
def final_end_location(start_node)
heredoc_endings =
start_node.each_node(:str, :dstr, :xstr)
.select(&:heredoc?)
.map { |node| node.loc.heredoc_end }
[start_node.loc.end, *heredoc_endings].max_by(&:line)
end
end
end
end
end