class Popro::Indicator::Stream

Attributes

formatter[RW]

Public Class Methods

default_formatter(format_string = nil) click to toggle source
# File lib/popro/indicator.rb, line 59
def self.default_formatter(format_string = nil)
  ::Popro::Formatter::Sprintf.new(format_string)
end
new(stream: nil, formatter: nil) click to toggle source
# File lib/popro/indicator.rb, line 42
def initialize(stream: nil, formatter: nil)
  formatter = self.class.default_formatter(formatter) if formatter.nil? || formatter.is_a?(String)

  @formatter = formatter
  @stream = stream || $stdout
end

Public Instance Methods

call(*args) click to toggle source
# File lib/popro/indicator.rb, line 49
def call(*args)
  @stream << @formatter.call(*args)
  @stream.flush
end
finish() click to toggle source
# File lib/popro/indicator.rb, line 54
def finish
  @stream << "\n"
  @stream.flush
end