hypernova-ruby icon indicating copy to clipboard operation
hypernova-ruby copied to clipboard

Enable plugins to support multiple renderings of same component

Open dpuscher opened this issue 6 years ago • 1 comments

The current implementation of the plugins feature passes a hash of hypernova-jobs to the callbacks (e.g. { 'component_name.js': { :name => 'component_name.js', :data => {} } }). This makes it impossible to render a single component more than once per request when using plugins, although hypernova supports it by default.

This PR changes this behavior and passes the jobs array from hypernova_batch to the plugin functions, so all jobs can be process equally. (e.g. [{ :name => 'component_name.js', :data => {} }, ...]).

I changed the version to 2.0.0 since this is a breaking change for everyone who is using plugins that use prepare_request, send_request?, will_send_request, on_success or on_error since they all receive an array instead of hash now.

dpuscher avatar Dec 11 '19 17:12 dpuscher

Btw, I fixed your annotations @ljharb 🙂

dpuscher avatar Dec 17 '19 15:12 dpuscher