Sha256: 7456326b4602a6c3d8eb861c9cfe30620c52837c4ef8a472f06f226777fed64e

Contents?: true

Size: 862 Bytes

Versions: 3

Compression:

Stored size: 862 Bytes

Contents

module Vedeu

  module Renderers

    # Converts a grid of {Vedeu::Char} objects into a stream of escape sequences
    # and content.
    class Text

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

      # Returns a new instance of Vedeu::Renderers::Text.
      #
      # @param output [Array<Array<Vedeu::Char>>]
      # @return [Vedeu::Renderers::Text]
      def initialize(*output)
        @output  = output
      end

      # @return [String]
      def render
        parsed
      end

      protected

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

      private

      # @return [String]
      def parsed
        Vedeu::Compressor.render(output)
      end

    end # Text

  end # Renderers

end # Vedeu

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.4.32 lib/vedeu/output/renderers/text.rb
vedeu-0.4.31 lib/vedeu/output/renderers/text.rb
vedeu-0.4.30 lib/vedeu/output/renderers/text.rb