class Pull::Values
Constants
- DEFAULT_ABORT_PROC
Attributes
array[R]
on_abort[R]
Public Class Methods
new(array, on_abort = DEFAULT_ABORT_PROC)
click to toggle source
# File lib/pull/source/values.rb, line 9 def initialize(array, on_abort = DEFAULT_ABORT_PROC) array = objectify(array) unless array.kind_of?(Array) @array = array @index = 0 @on_abort = on_abort end
Public Instance Methods
call()
click to toggle source
# File lib/pull/source/values.rb, line 17 def call -> (finish, callback) { if finish on_abort.() return nil end return false if !array[@index] callback.(array[@index]) @index += 1 return true } end
Private Instance Methods
objectify(object)
click to toggle source
# File lib/pull/source/values.rb, line 36 def objectify(object) if object.kind_of?(Hash) object.map { |k, v| v } else object.pretty_print_instance_variables.inject([]) do |coll, iv| coll << object.instance_variable_get(iv) end end end