Add a render macro to the ComponentHelper, which takes a block that is used to render the component instead of using the partial. This is mainly useful for small components that will be rendered many times where the overhead of rendering the partial can be quite significant.
The issue hinted at using a render method for this, I chose not to go that route because it would override the built in method which seems problematic. Using a custom DSL for this makes it more explicit but has the downside of dealing with the various quirks of blocks as opposed to methods. Another option would be to use a differently named method (render_component?), but that has the downside of people accidentally using the name for a regular helper method. I'm open to any suggestion on a better API for it.
Fixes https://github.com/komposable/komponent/issues/138
Add a
render
macro to the ComponentHelper, which takes a block that is used to render the component instead of using the partial. This is mainly useful for small components that will be rendered many times where the overhead of rendering the partial can be quite significant.The issue hinted at using a
render
method for this, I chose not to go that route because it would override the built in method which seems problematic. Using a custom DSL for this makes it more explicit but has the downside of dealing with the various quirks of blocks as opposed to methods. Another option would be to use a differently named method (render_component
?), but that has the downside of people accidentally using the name for a regular helper method. I'm open to any suggestion on a better API for it.