liquid icon indicating copy to clipboard operation
liquid copied to clipboard

Shift all Tag parsing into parse method

Open shopmike opened this issue 5 years ago • 2 comments

This is a clean up that accomplishes a few things. It doesn't add any new methods, it just shifts parsing logic inside initialize to parse which is pre-existing functionality.

Tag initialization is now lightweight and universal

There are no tags that need an initialize method. By removing this it opens up the ability to dynamically create Tags outside of the normal parsing process. There is a current overlap of functionality between some tags and this moves towards the path of possibly allowing Tag A to wrap itself in Tag B.

Example: render wrapping itself with for

Separation between Object creation and Parsing

By moving away from the initialize method, it will be easier to move tag parsing to liquid-c

@pushrax @Thibaut @Shopify/guardians-of-the-liquid @Shopify/liquid

shopmike avatar Oct 11 '19 21:10 shopmike

Yeah, it just makes it easier to replace the method. This is just a tiny step to improve things. I've been playing around a bit with replacing Tag and Block with a new Node that has properties and children and handles all the logic it does now.

shopmike avatar Oct 22 '19 18:10 shopmike

Just a comment here to remember, this will likely mess with Tags that extend the core tags.

shopmike avatar Oct 22 '19 18:10 shopmike