Skip to content

Enable RSpec/EmptyLineAfterLetBlock Cop

Description of the proposal

Enforces furthering newlines rules after let blocks as seen below.

            # bad
            RSpec.describe Foo do
              let(:something) { 'something' }
              let(:another_thing) do
              end
              let(:something_else) do
              end
              let(:last_thing) { 'last thing' }
            end

            # good
            RSpec.describe Foo do
              let(:something) { 'something' }
              let(:another_thing) do
              end

              let(:something_else) do
              end

              let(:last_thing) { 'last thing' }
            end

            # good - it's ok to have non-separated without do/end blocks
            RSpec.describe Foo do
              let(:something) { 'something' }
              let(:last_thing) { 'last thing' }
            end

Check-list

  • Make sure this MR enables a static analysis check rule for new usage but ignores current offenses
  • Mention this proposal in the relevant Slack channels (e.g. #development, #backend, #frontend)
  • The MR doesn't have significant objections, and is getting a majority of 👍 vs 👎 (remember that we don't need to reach a consensus)
  • Create a follow-up issue to fix the current offenses as a separate iteration: https://gitlab.com/gitlab-org/gitlab/-/issues/228860
  • Follow the review process as usual
  • Once approved and merged by a maintainer, mention it again:
    • In the relevant Slack channels (e.g. #development, #backend, #frontend)
    • (Optional depending on the impact of the change) In the Engineering Week in Review

/cc @gitlab-org/maintainers/rails-backend

Closes #217603

Edited by Michael Kozono

Merge request reports