Streamer
The Streamer gem provides a configurable stream that takes a hash payload, and performs functions on the hash, returning an instance of the stream with the resulting payload.
The StreamBuilder uses a hash as configuration to string together the calls that each stream makes.
Installation
Add this line to your application's Gemfile:
gem 'streamer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install streamer
Usage
This library transforms a hash. A StreamBuilder is fed a configuration hash (usually a yaml file) that creates a chainable set of transformations using the Stream object. The Stream has methods that are used to assign the results of functions on the payload, back to the payload.
Please have a look at the examples directory for some simple sample usage
Development
This gem includes a Docker environment for development. To begin development:
$ script/init
This will create the data container for gems at /usr/local/bundle used inside the app and guard containers.
To start guard in the foreground,
script/test
To start an interactive session with the gem:
script/console
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/scotthelm/streamer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.