Conversation
- Remove global DSL and Registry; replace with matrix-scoped design. - Introduce `Stroma::Matrix` to manage isolated registries per library. - Add `Stroma::DSL::Generator` for creating matrix-scoped DSL modules. - Update `Stroma::Hooks::Applier` and `Stroma::Hooks::Factory` to validate hooks via matrix entries. - Revise specs to test matrix isolation, hook inheritance, and registry behavior.
- Add detailed code comments and documentation for `Stroma::Matrix`, `Hooks::Applier`, `Hooks::Factory`, `DSL::Generator`, and `Registry`. - Expand examples and usage details in comments. - Clarify lifecycle, purpose, and integration of Matrix-scoped DSL components throughout the library.
- Replace `Stroma::DSL` with `Stroma::DSL::Generator` for module generation. - Introduce `Stroma::Matrix` to manage isolated DSL registries. - Update `Stroma::Hooks::Applier` and `Factory` to support Matrix integration. - Remove obsolete global DSL and Registry patterns. - Adjust `Steepfile` to account for dynamic module generation. - Minor stylistic adjustments in `Hooks::Factory` methods.
- Add `:aggregate_failures` for better failure aggregation in various specs. - Refactor assignments and align `build_class_methods` with RuboCop standards. - Use `attr_reader` for `stroma_matrix` and simplify DSL method memoization. - Format exception handling for improved readability in `Registry#register`. - Suppress RuboCop rule in specs where memoized helpers exceed counts.
- Remove redundant eager DSL module generation during `Matrix` initialization. - Refactor `Hooks::Applier` to use a new class-level `apply!` method for convenience. - Update `DSL::Generator` to leverage the new `apply!` method for cleaner hook application. - Add thread-safety documentation to `Hooks::Collection` and `Hooks::Factory`.
- Replace `dsl` method with an `attr_reader` in `Matrix` for simplicity. - Remove redundant thread-safety notes from `Hooks::Collection` and `Hooks::Factory` as they described expected behavior during class definition. - Streamline code by reducing unnecessary comments and methods.
- Replace `dsl` method with `attr_reader` in `Matrix` for consistency and simplicity. - Add `apply!` class method to `Hooks::Applier` for streamlined hook application. - Remove redundant `dsl` initialization for cleaner code.
- Delete `StromaTestRegistry` module and its references for code cleanup. - Remove redundant setup in `spec_helper` related to the deleted module. - Add `apply!` class method specs to `Hooks::Applier` for improved test coverage.
- Introduce `Matrix.define` as a class method to streamline matrix creation. - Update related examples in documentation and tests to prefer `.define` over `.new`. - Ensure `Matrix.define` semantically indicates the creation of an immutable DSL scope. - Add unit tests to validate equivalency between `.define` and `.new`. - Adjust type signatures and method comments to reflect the new API.
- Replace `Matrix.new` with `Matrix.define` in various test files for consistency with the updated API. - Adjust lifecycle documentation in `Matrix` to reflect the transition to `.define`. - Ensure all examples align with the simplified matrix creation approach introduced in recent changes.
- Add `:aggregate_failures` metadata to enhance failure aggregation in relevant tests. - Remove redundant test for `dsl` module caching to simplify the test suite. - Minor adjustments to align with current standards for streamlined specs. - Clean up unused lines in `spec_helper` for better readability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.