Skip to content

Migrate Stroma to matrix-scoped DSL#3

Merged
afuno merged 11 commits intomainfrom
feature/SRV-417/isolation
Jan 13, 2026
Merged

Migrate Stroma to matrix-scoped DSL#3
afuno merged 11 commits intomainfrom
feature/SRV-417/isolation

Conversation

@afuno
Copy link
Member

@afuno afuno commented Jan 13, 2026

No description provided.

afuno added 7 commits January 13, 2026 21:08
- 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.
@afuno afuno self-assigned this Jan 13, 2026
afuno added 3 commits January 13, 2026 22:07
- 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.
@afuno afuno marked this pull request as ready for review January 13, 2026 15:36
@afuno afuno merged commit f680e58 into main Jan 13, 2026
35 checks passed
@afuno afuno deleted the feature/SRV-417/isolation branch January 13, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant