Effect Chaining
- Split effect parse and effect execution logic in its own file, cleaning up the handler in the process
- Allow effects to be chained one after another with the syntax
a b c
, which would bea+b+c
in a URL - Allow effects to have arguments! Effects that have arguments should be registered within the
PARAMETRIZED_EFFECTS
hash insidesrc/effect.cr
- Arguments MUST be
Int32
- Effects MUST have default arguments FOR ALL OF THEIR PARAMETERS
- Arguments MUST be
- Fix bug where too many effect runs would hit the file descriptor limit (missing close on get_effect, logic has been moved to Runner.validate)