class Pull::Filter

Attributes

block[R]

Public Class Methods

new(&block) click to toggle source
# File lib/pull/through/filter.rb, line 5
def initialize(&block)
  @block = block
end

Public Instance Methods

call(read) click to toggle source
# File lib/pull/through/filter.rb, line 9
def call(read)
  -> (finish, callback) {
    if finish
      on_abort.()
      return nil
    end

    read.(nil, -> (value) {
      pass = block.call(value)
      callback.(value) if pass
    })
  }
end