class Pluggaloid::StreamGenerator::Yielder

Public Class Methods

new(event, args:) click to toggle source
# File lib/pluggaloid/stream_generator.rb, line 60
def initialize(event, args:)
  @event = event
  @args = args.freeze
  @alive = true
end

Public Instance Methods

<<(value)
Alias for: add
add(value) click to toggle source
# File lib/pluggaloid/stream_generator.rb, line 73
def add(value)
  bulk_add([value])
end
Also aliased as: <<
bulk_add(lst) click to toggle source
# File lib/pluggaloid/stream_generator.rb, line 66
def bulk_add(lst)
  raise Pluggaloid::NoReceiverError, "All event listener of #{self.class} already detached." if die?
  args = @args.dup
  args.insert(@event.stream_index, lst)
  @event.call(*args)
end
die() click to toggle source
# File lib/pluggaloid/stream_generator.rb, line 82
def die
  @alive = false
  freeze
end
die?() click to toggle source
# File lib/pluggaloid/stream_generator.rb, line 78
def die?
  !@alive
end