Commit Graph

17 Commits (f3ac4316dfde9baa9a7d2586f6c7a0fd2d0813d7)

Author SHA1 Message Date
Abbas Cyclewala f3ac4316df
Abbasc52/null rule param fix (#119)
* Fixed scoped parameter throwing exception on compilation error
* Fixed null RuleParameter throwing exception
* Replaced thrown Exceptions with RuleException
2021-04-19 11:21:33 +05:30
Abbas Cyclewala c7b7d42efe
Made runtime error log as exception message by default (#107) 2021-03-02 14:55:47 +05:30
Abbas Cyclewala b49ffd207d
Abbasc52/nested fix (#96)
- Added GlobalParams support #97
- LocalParams now work at all nested levels #98
- Added Enabled field to Rule to enable/disable a Rule #99
- Fixed Rule compilation error not appearing as error message in certain cases #95
2021-02-02 10:29:21 +05:30
Abbas Cyclewala 04060e7159
Fixed LocalParams Cache not getting cleaned up (#93) 2021-01-21 16:09:25 +05:30
Abbas Cyclewala 9c8b9d484e
* fixed namespace issue (#82)
* fixed namespace issue
* added editorconfig
* cleaned up files based on editorconfig
2020-12-23 11:04:10 +05:30
Abbas Cyclewala b39591eac1
Added support for unlimited inputs (#76)
* Added support for unlimited inputs
2020-12-11 14:48:52 +05:30
Abbas Cyclewala a90880f126
perf improvements and benchmarking (#70)
* added perf improvements

* Added benchmark tool
2020-11-16 14:06:35 +05:30
Abbas Cyclewala b68861dfd5
Merge develop to master (#68)
* Users/abbasc52/add-actions (#56)

* Removed ruleinput

* Simplified compiled params code

* clean up and renaming

* Fixed caching and made test cases more specific

* updated settings

* updated nuget and fix warnings

* Added test case for invalid input name

* changed input from object to dictionary

* Added action related fields and added expression output action

* Added evaluateRuleAction and added basic tests for actions

* made action names and context case insensitive

* Added exception handling

* fixed exception message for parsing error

* improved constructor for action factory

* Added build trigger for pr to develop

* Added more testcases for actions

* Shared same instance of parser for RulesEngine and OutputExpression action

* fixed review comments

* Added null check for actions not mentioned in json

* pull fixes from master (#61)

* Renamed ExecuteRule to ExecuteAllRulesAsync and added action support (#63)

* Added support for actions
* Renamed ExecuteRule to ExecuteAllRulesAsync

* added github nuget publish
2020-11-02 09:25:43 +05:30
YogeshPraj a71692f5da
Added option to throw error on expression compilation failure (#57) 2020-10-12 20:59:51 +05:30
David 845e92c6e1
Added MethodCallExpression support (#53)
* MemberAccessExpression / UnaryExpression / MethodCallExpression support as long as it evaluatues to a boolean value.
2020-09-21 15:51:31 +05:30
Abbas Cyclewala 6b66162e56
Users/abbasc52/bugfixes (#48)
* Added fix for cachekey
* Added fix for unknown identifier
* Updated version number for rulesengine
* Added testcase for instance utils and typecasting
2020-09-01 12:02:48 +05:30
Abbas Cyclewala c0488f1113
Moving latest changes in develop and reverting them from master (#41)
* Revert "Increased coverage threshold to 95 for PR"

This reverts commit b545c5b4cf.

* Revert "Converted expressions to delegates and code cleanup (#34)"

This reverts commit 75baa6e358.
2020-08-28 07:44:00 +05:30
Abbas Cyclewala 75baa6e358
Converted expressions to delegates and code cleanup (#34)
* Converted expressions to delegate and code cleanup

* fixed test cases
2020-08-04 10:29:02 +05:30
joshidp a0a8938892
Rules Engine param Feature (#24)
* Feature Description
Rules Engine has a param (like ‘var’ in c#) feature support now, it makes authoring and troubleshooting of issues very easy. Now you can breakdown your bigger statements into smaller logical expressions as parameters within a rule definition.

* renaming param to localParam

* adding change log for local param

Co-authored-by: Deepak Joshi <dejosh@microsoft.com>
2020-07-22 21:04:15 +05:30
Todd Meinershagen e920138edd
Simplified the IRulesEngine interface to have a params array for Obje… (#14)
* Simplified the IRulesEngine interface to have a params array for Objects and Rule Parameters.  Also updated the code to use the ILogger from Microsoft.Extensions.Logging.

* Removed custom NullLogger and replaced with Microsoft NullLogger from Microsoft.Extensions.Logging.Abstractions package.
2020-05-12 15:52:50 +05:30
Dishant Munjal 63ecbe6a64
including exceptions scenario (#2)
* including exceptions scenario

* Unit Test Cases
2019-09-24 08:53:33 +05:30
Dishant Munjal b960802bab Initial Commit 2019-08-13 15:36:57 +05:30