Skip to content

Conversation

@josbeir
Copy link
Owner

@josbeir josbeir commented Dec 24, 2025

No description provided.

Copilot AI review requested due to automatic review settings December 24, 2025 16:01
@codecov-commenter
Copy link

codecov-commenter commented Dec 24, 2025

Codecov Report

❌ Patch coverage is 94.44444% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.04%. Comparing base (189604b) to head (17cae97).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/Service/PluginLocator.php 92.85% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main       #4      +/-   ##
============================================
+ Coverage     94.93%   95.04%   +0.11%     
- Complexity      290      297       +7     
============================================
  Files            18       18              
  Lines           928      949      +21     
============================================
+ Hits            881      902      +21     
  Misses           47       47              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for storing plugin names in the AttributeInfo value object, enabling the attribute registry to track which plugin an attribute belongs to. This is useful for filtering attributes by plugin and understanding the source of registered attributes.

  • Added optional pluginName property to AttributeInfo with backward-compatible default of null
  • Implemented getPluginPathMap() and getPluginNameFromPath() methods in PluginPathResolver to detect plugin ownership from file paths
  • Integrated plugin name detection into AttributeParser via optional PluginPathResolver dependency
  • Updated CompiledCache to serialize and deserialize the plugin name in generated cache files

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/ValueObject/AttributeInfo.php Added optional pluginName property with backward-compatible serialization in toArray() and fromArray()
src/Service/PluginPathResolver.php Refactored to build path-to-name map and added getPluginNameFromPath() method for detecting plugin ownership
src/Service/AttributeParser.php Added optional PluginPathResolver dependency and integrated plugin name detection in createAttributeInfo()
src/Service/CompiledCache.php Updated cache generation to include pluginName in compiled PHP code
tests/TestCase/ValueObject/AttributeInfoTest.php Added comprehensive tests for plugin name property, serialization, and backward compatibility
tests/TestCase/Service/PluginPathResolverTest.php Added tests for new getPluginPathMap() and getPluginNameFromPath() methods
tests/TestCase/Service/CompiledCacheTest.php Added tests verifying plugin name is correctly persisted in generated cache files
tests/TestCase/Service/AttributeParserTest.php Added tests for plugin name detection and PluginPathResolver integration
tests/TestCase/Service/AttributeScannerTest.php Improved type hint for closure parameter from implicit to explicit type declaration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@josbeir josbeir merged commit 7c27f46 into main Dec 24, 2025
10 checks passed
@josbeir josbeir deleted the feat/store-plugin-name branch December 24, 2025 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants