diff --git a/lib/rubocop/cop/github/render_literal_helpers.rb b/lib/rubocop/cop/github/render_literal_helpers.rb index 29820b0e..3cf7f574 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} (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 + (block (send nil? {:render :render_to_string} (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 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") %> 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