Sha256: 2d060f0da259793a157bf8a97581af0042283a6ebfaddb70be3a36de86e4ea0c

Contents?: true

Size: 662 Bytes

Versions: 4

Compression:

Stored size: 662 Bytes

Contents

module Vedeu

  # Converts a grid of {Vedeu::Char} objects into a stream of escape sequences
  # and content suitable for a terminal.
  #
  class Renderer

    # @param output [Array<Array<Vedeu::Char>>]
    # @return [String]
    def self.render(*output)
      new(*output).render
    end

    # @param output [Array<Array<Vedeu::Char>>]
    # @return [Vedeu::Renderer]
    def initialize(*output)
      @output = output
    end

    # @return [String]
    def render
      Array(output).flatten.map(&:to_s).join
    end

    private

    # @!attribute [r] output
    # @return [Array<Array<Vedeu::Char>>]
    attr_reader :output

  end # Renderer

end # Vedeu

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.4.9 lib/vedeu/output/renderer.rb
vedeu-0.4.8 lib/vedeu/output/renderer.rb
vedeu-0.4.7 lib/vedeu/output/renderer.rb
vedeu-0.4.6 lib/vedeu/output/renderer.rb