Data Flow
A Flow is a defined series of individual steps each of which modify some data that gets passed to the next step in the flow.
Details
- Soups simple calling
f::moveFiles($targetDir)->each(f::gzip())->moveFiles($ftpDir)->flow($files)- transfer files from a remote location, compress using gzip and transfer to another location
- How to flow
- Works with PHP 5.6, PHP 7 & HHVM
- N.B. Uses some command line programs which conform to Ubunutu's syntax.
Commands
Generic
run- Iterate through a set of FlowstoAll- Send the same input to each Flow at the same timefirst- Take the first node from a collectionlast- Take the last node from a collectionfilter- Filter out nodes from a collectionmap- Apply a function to each node in a collectioneach- Apply a FlowInterface to each node in a collectioncallback- Apply a callback to the node
Files
makeDirectory- Make a directory from a file nodemerge- Merge a collection of files into a filecompress- Compress a filedecompress- DeCompress a filegzip- Gzip a filegunzip- Gunzip a filezip- Zip a fileunzip- Unzip a filecopyFile- Copy a file to a new locationcopyFiles- Cope a collection of files to a new locationmoveFile- Move a file to a new locationmoveFiles- Move a collection of files to a new locationconvertEncoding- Convert the encoding of a filereplaceText- Replace the text in a filetail- Retrieve the last n lines of a filehead- Retrieve the first n lines of a file
Installation
Via Composer
$ composer require graze/data-flowTesting
DataFlow has a PHPUnit test suite run through Docker
$ make testContributing
Please see CONTRIBUTING for details.
Change log
Please see CHANGELOG for more information what has changed recently.
Security
If you discover any security related issues, please email security@graze.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
