Sha256: f8be46f5575eb801218420011671413e4139d8e9d82a06b4729e60a3f09d6882
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Binstream class Tracker include Singleton def initialize @tracking_buffer = [] @enabled = false end def buffer @tracking_buffer end def enabled=(bool) @enabled = !!bool end def enabled? @enabled end def clear @tracking_buffer.clear end def track(message = nil, &block) value = if message.nil? && block_given? yield else message end if enabled? @tracking_buffer << value end return value end def print_debug_buffer(options={}) return unless enabled? STDERR.puts "" STDERR.puts "DEBUG BUFFER:" debug_str = @tracking_buffer.map do |item| if item.nil? "\\x00" elsif item == :newline "\n\n" elsif item == :break "\n\t" else item.inspect end end.join(", ") STDERR.puts debug_str STDERR.puts "" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
binstream-1.0.0 | lib/binstream/tracker.rb |