typemytype/booleanOperations

What's the purpose of BooleanOperationManager?

behdad opened this issue · 4 comments

To me it looks like an unnecessary class.

Yeah, the self instance doesn't hold any data. It's really just a bundle of functions which happen to call _performOperation. But turning them into separate functions would break the current API...
Maybe using the @staticmethod decorator would be better, as it would allow to call them directly on the class as well as on an instance, thus without breaking the API.

Thanks. I suggest also importing the methods into the toplevel module, removing the use of Manager completely.

I guess it changed over time from a manager kind of object to a simpler model... and it stayed this way

thank for the pull request

Ideally it just have to be a set of function doing operations with lower level data/object (not glyph like objects)

This could be solved by collecting them into a new module operations.py and keep the booleanOperationMager.py just as legacy with a small deprecated warning. Or is this change to dramatic?

collecting them into a new module operations.py and keep the booleanOperationMager.py just as legacy with a small deprecated warning

You could do that, if you prefer. After that, we should push a 0.3 tag so the CI can deploy the precompiled wheels to the Github Releases page.