From c83f1424d155bfac73a3fd1e971bf3d08a90a3c4 Mon Sep 17 00:00:00 2001
From: "Ben Sheldon [he/him]" <bensheldon@github.com>
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]" <bensheldon@github.com>
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]" <bensheldon@github.com>
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]" <bensheldon@github.com>
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]" <bensheldon@github.com>
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