class Nanoc::Core::ChangesStream

Public Class Methods

new(enum: nil) { |listener| ... } click to toggle source
# File lib/nanoc/core/changes_stream.rb, line 28
def initialize(enum: nil)
  @enum = enum
  @enum ||=
    Enumerator.new do |y|
      @listener = ChangesListener.new(y)
      yield(@listener)
    end.lazy
end

Public Instance Methods

each() { |e| ... } click to toggle source
# File lib/nanoc/core/changes_stream.rb, line 49
def each
  @enum.each { |e| yield(e) }
  nil
end
map() { |e| ... } click to toggle source
# File lib/nanoc/core/changes_stream.rb, line 41
def map
  self.class.new(enum: @enum.map { |e| yield(e) })
end
stop() click to toggle source
# File lib/nanoc/core/changes_stream.rb, line 37
def stop
  @listener&.to_stop&.call
end
to_enum() click to toggle source
# File lib/nanoc/core/changes_stream.rb, line 45
def to_enum
  @enum
end