Module: Itsi::ScheduleRefinement::EnumerableExtensions
- Defined in:
- lib/itsi/schedule_refinement.rb
Instance Method Summary collapse
Instance Method Details
#schedule_each(&block) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/itsi/schedule_refinement.rb', line 55 def schedule_each(&block) enum = Enumerator.new do |y| schedule do each { |item| schedule{ y.yield(item) } } end end block_given? ? enum.each(&block) : enum.each end |
#schedule_map(&block) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/itsi/schedule_refinement.rb', line 65 def schedule_map(&block) return Enumerator.new do |y| schedule do each_with_index.each_with_object([]) do |(item, index), agg| schedule do agg[index] = (y << item) end end end end.map unless block_given? schedule do each_with_index.each_with_object([]) do |(item, index), agg| schedule do agg[index] = block[item] end end end end |