Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create non generic rules engine #169

Merged
merged 5 commits into from
Sep 24, 2024

Conversation

luispfgarces
Copy link
Contributor

@luispfgarces luispfgarces commented Aug 18, 2024

Description

Evolves the rules engine to a non-generic version by setting the content type and condition type to a string default. The library users can optionally use a generic rules engine wrapper specifying TContentType and TConditionType - as long as those types are either enum types or other types convertible to string and parseable from string.

Warning

Breaking change on rules engine build-up. Current usages of the library will have to remove TContentType and TConditionType from builder methods and use and additional MakeGeneric<TContentType, TConditionType>() method to get a equivalent instance of RulesEngine<TContentType, TConditionType>.

Warning

Additional APIs were added to create and get content types from the rules engine.
From now on, the library users will be required to create explicitly the content types using the new API, except if the AutoCreateContentTypes option is true.
This is a breaking change on behavior.

Change checklist

  • Code follows the code rules guidelines of this project
  • Commit messages follow the commit rules of this project
  • I have self-reviewed my changes before submitting this pull request
  • I have covered new/changed code with new tests and/or adjusted existent ones
  • I have made changes necessary to update the documentation accordingly

Please also check the I want to contribute guidelines and make sure you have done accordingly.

Disclaimer

By sending us your contributions, you are agreeing that your contribution is made subject to the terms of our Contributor Ownership Statement

@luispfgarces luispfgarces added this to the Release 3.0.0 milestone Sep 1, 2024
@luispfgarces luispfgarces merged commit c9213a0 into release-3.0.0 Sep 24, 2024
1 check passed
@luispfgarces luispfgarces deleted the create_non_generic_rules_engine branch September 24, 2024 14:26
@luispfgarces luispfgarces mentioned this pull request Oct 6, 2024
5 tasks
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