Sha256: 3f8a2e35289dbbba1fa431e7786736e5f8fe7d9e99be219e9a1960defa20de8e
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
module Vedeu class Compositor class << self def write(output = [], options = {}) return if output.nil? || output.empty? new(output, options).write end end def initialize(output = [], options = {}) @output, @options = output, options end def write parsed.each_with_index do |data, index| clear_line(index) write_line(data) end.join("\n") end private attr_reader :output def parsed container = [] streams = [] output.map do |line| line.map do |stream| if stream.is_a?(String) streams << stream else streams << Directive.enact(stream) end end container << streams.join streams = [] end container end def clear_line(index) Terminal.clear_line(index) end def write_line(data) Terminal.output(data) end def options defaults.merge!(@options) end def defaults {} end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.5 | lib/vedeu/output/compositor.rb |
vedeu-0.0.4 | lib/vedeu/output/compositor.rb |