Sha256: 6c95c565b707a238f50136d71fab96836e6af36e3ec84f3791fc6d55f9d7c07d
Contents?: true
Size: 733 Bytes
Versions: 1
Compression:
Stored size: 733 Bytes
Contents
require 'jinx/helpers/collection' module Jinx # This Transformer helper class applies a transformer block to a base enumeration. class Transformer include Enumerable, Collection def initialize(enum=[], &transformer) @base = enum @xfm = transformer end # Sets the base Enumerable on which this Transformer operates and returns this transformer, e.g.: # transformer = Transformer.new { |n| n * 2 } # transformer.on([1, 2, 3]).to_a #=> [2, 4, 6] def on(enum) @base = enum self end # Calls the block on each item after this Transformer's transformer block is applied. def each @base.each { |item| yield(item.nil? ? nil : @xfm.call(item)) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jinx-2.1.4 | lib/jinx/helpers/transformer.rb |