From c83f1424d155bfac73a3fd1e971bf3d08a90a3c4 Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 16 Dec 2024 13:17:46 -0800 Subject: [PATCH 1/5] Exploratory test cases for rails_view_render_literal --- test/test_rails_view_render_literal.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/test_rails_view_render_literal.rb b/test/test_rails_view_render_literal.rb index 7c081dd3..59cb6804 100644 --- a/test/test_rails_view_render_literal.rb +++ b/test/test_rails_view_render_literal.rb @@ -78,6 +78,30 @@ def test_render_component_instance_block_no_offense assert_equal 0, offenses.count end + def test_render_component_instance_inline_block_no_offense + offenses = erb_investigate cop, <<-ERB, "app/views/foo/index.html.erb" + <%= render Module::MyClass.new(title: "foo", bar: "baz") { "Content" } %> + ERB + + assert_equal 0, offenses.count + end + + def test_render_component_instance_data_object_no_offense + offenses = erb_investigate cop, <<-ERB, "app/views/foo/index.html.erb" + <%= render Module::MyClass.new(title: "foo", bar: "baz", data: { foo: "bar" }) %> + ERB + + assert_equal 0, offenses.count + end + + def test_render_component_instance_data_object_no_offense + offenses = erb_investigate cop, <<-ERB, "app/views/foo/index.html.erb" + <%= render Module::MyClass.new(title: "foo", bar: "baz", data: { foo: "bar" }) %> + ERB + + assert_equal 0, offenses.count + end + def test_render_component_collection_no_offense offenses = erb_investigate cop, <<-ERB, "app/views/foo/index.html.erb" <%= render MyClass.with_collection(title: "foo", bar: "baz") %> From b7e40e4a96d9aa4e2ca71d5a43bc897458618047 Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 16 Dec 2024 13:23:24 -0800 Subject: [PATCH 2/5] Update render_literal_helpers.rb to allow for inline block content --- lib/rubocop/cop/github/render_literal_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rubocop/cop/github/render_literal_helpers.rb b/lib/rubocop/cop/github/render_literal_helpers.rb index 29820b0e..ee1fad92 100644 --- a/lib/rubocop/cop/github/render_literal_helpers.rb +++ b/lib/rubocop/cop/github/render_literal_helpers.rb @@ -29,7 +29,7 @@ module RenderLiteralHelpers PATTERN def_node_matcher :render_view_component_instance_with_content?, <<-PATTERN - (send nil? {:render :render_to_string} (send (send _ :new ...) `:with_content ...)) + (send nil? {:render :render_to_string} (send (send _ :new ...) `:with_content ...) $...) PATTERN def_node_matcher :render_view_component_collection?, <<-PATTERN From 11d57663260ee759d7688ff354141d9fb612d109 Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 16 Dec 2024 13:25:08 -0800 Subject: [PATCH 3/5] Update render_literal_helpers.rb --- lib/rubocop/cop/github/render_literal_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rubocop/cop/github/render_literal_helpers.rb b/lib/rubocop/cop/github/render_literal_helpers.rb index ee1fad92..7c266127 100644 --- a/lib/rubocop/cop/github/render_literal_helpers.rb +++ b/lib/rubocop/cop/github/render_literal_helpers.rb @@ -29,7 +29,7 @@ module RenderLiteralHelpers PATTERN def_node_matcher :render_view_component_instance_with_content?, <<-PATTERN - (send nil? {:render :render_to_string} (send (send _ :new ...) `:with_content ...) $...) + (send nil? {:render :render_to_string} (block (send (send _ :new ...) `:with_content ...) ...)) PATTERN def_node_matcher :render_view_component_collection?, <<-PATTERN From 8c91e2250210842b273ecb34c2c5b850a6af0acb Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 16 Dec 2024 13:27:11 -0800 Subject: [PATCH 4/5] Update render_literal_helpers.rb --- lib/rubocop/cop/github/render_literal_helpers.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/rubocop/cop/github/render_literal_helpers.rb b/lib/rubocop/cop/github/render_literal_helpers.rb index 7c266127..f600aead 100644 --- a/lib/rubocop/cop/github/render_literal_helpers.rb +++ b/lib/rubocop/cop/github/render_literal_helpers.rb @@ -29,7 +29,11 @@ module RenderLiteralHelpers PATTERN def_node_matcher :render_view_component_instance_with_content?, <<-PATTERN - (send nil? {:render :render_to_string} (block (send (send _ :new ...) `:with_content ...) ...)) + (send nil? {:render :render_to_string} (send (send _ :new ...) `:with_content ...)) + PATTERN + + def_node_matcher :render_view_component_instance_with_inline_block?, <<-PATTERN + (send nil? {:render :render_to_string} (block (send (send _ :new ...) ...) ...)) PATTERN def_node_matcher :render_view_component_collection?, <<-PATTERN @@ -47,6 +51,7 @@ def hash_with_literal_keys?(hash) def render_view_component?(node) render_view_component_instance_with_content?(node) || + render_view_component_instance_with_inline_block?(node) || render_view_component_instance?(node) || render_view_component_collection?(node) end From ec12a4cb8ab0b89aa050048f2d9489816da67f3f Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 16 Dec 2024 13:30:54 -0800 Subject: [PATCH 5/5] Update render_literal_helpers.rb --- lib/rubocop/cop/github/render_literal_helpers.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rubocop/cop/github/render_literal_helpers.rb b/lib/rubocop/cop/github/render_literal_helpers.rb index f600aead..3cf7f574 100644 --- a/lib/rubocop/cop/github/render_literal_helpers.rb +++ b/lib/rubocop/cop/github/render_literal_helpers.rb @@ -29,11 +29,11 @@ module RenderLiteralHelpers PATTERN def_node_matcher :render_view_component_instance_with_content?, <<-PATTERN - (send nil? {:render :render_to_string} (send (send _ :new ...) `:with_content ...)) + (send nil? {:render :render_to_string} (send (send _ :new ...) :with_content ...)) PATTERN def_node_matcher :render_view_component_instance_with_inline_block?, <<-PATTERN - (send nil? {:render :render_to_string} (block (send (send _ :new ...) ...) ...)) + (block (send nil? {:render :render_to_string} (send _ :new ...)) ...) PATTERN def_node_matcher :render_view_component_collection?, <<-PATTERN pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy