Example use: trailblazer.to/gems/operation/2.0/pipetree.html

Executing a pipetree generated from declarative configuration.

This reduces conditionals at run-time, Replaces clumsy module includes to inject or override features (in the correct order) with explicit, (visual!) pipelines Speeds up as only the pipelines need to be run without too much decider code.

First used in the Representable gem.

Instead of implementing the perfect API where users can override methods, call super or inject their logic, let them construct their own workflow.

This is way less tedious than climbing through super calls and callstacks.

Installation

In your Gemfile.

gem "pipetree"

Pipetree runs with Ruby >= 1.9.3.

TODO

  • Catch exceptions and show where in the pipe they were raised.
  • Statically compile pipetrees into Ruby methods to make it lightning fast (paid gem?)