module Transproc::Composer
Helper extension handy for composing many functions in multiple steps
@example
include Transproc::Composer fn = compose do |fns| fns << t(:map_array, t(:symbolize_keys)) fns << t(:map_array, t(:nest, :address, [:city, :zipcode])) end fn.call [{ 'city' => 'NYC', 'zipcode' => '123' }] # => [{ address: { city: 'NYC', zipcode: '123' }]
@api public
Public Instance Methods
compose(default = nil) { |factory| ... }
click to toggle source
Gather and compose functions and fall-back to a default one if provided
@example
include Transproc::Composer fn = compose(-> v { v }) do |fns| fns << t(:to_string) if something end fn[1] # => "1"
@see Composer
@api public
# File lib/transproc/composer.rb, line 63 def compose(default = nil) factory = Factory.new(default) yield(factory) factory.to_fn end