Skip to content

Commit

Permalink
WIP: Exclude init initializer from plugins list command count (#771)
Browse files Browse the repository at this point in the history
* fix: exclude init initializer from plugins list command count

* test: ensure that plugins list command output is correct

---------

Co-authored-by: François Vantomme <[email protected]>
  • Loading branch information
akarzim and François Vantomme authored Jan 23, 2025
1 parent 2287826 commit 261662a
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
7 changes: 4 additions & 3 deletions bridgetown-core/lib/bridgetown-core/commands/plugins.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,16 @@ def list

pm = site.plugin_manager

plugins_list += pm.class.registered_plugins.reject do |plugin|
plugin.to_s.end_with? "site_builder.rb"
plugins_list += pm.class.registered_plugins.to_a

plugins_list.reject! do |plugin|
plugin.to_s.end_with?("site_builder.rb") || plugin.to_s == "init (Initializer)"
end

Bridgetown.logger.info("Registered Plugins:", plugins_list.length.to_s.yellow.bold)

plugins_list.each do |plugin|
plugin_desc = plugin.to_s
next if plugin_desc.ends_with?("site_builder.rb") || plugin_desc == "init (Initializer)"

if plugin.is_a?(Bridgetown::Configuration::Initializer)
Bridgetown.logger.info("", plugin_desc)
Expand Down
32 changes: 32 additions & 0 deletions bridgetown-core/test/test_plugins_command.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# frozen_string_literal: true

require "helper"
require_all "bridgetown-core/commands/concerns"
require "bridgetown-core/commands/plugins"

class TestPluginsCommand < BridgetownUnitTest
context "list registered plugins" do
setup do
fixture_site
@cmd = Bridgetown::Commands::Plugins.new
end

should "exclude init (Initializer) from registered plugins list" do
out, err = capture_io do
@cmd.invoke(:list)
end

assert_nil err
refute_includes "init (Initializer)", out
end

should "exclude init (Initializer) from registered plugins count" do
out, err = capture_io do
@cmd.invoke(:list)
end

assert_nil err
assert_includes "Registered Plugins: 3", out
end
end
end

0 comments on commit 261662a

Please sign in to comment.