Sha256: ae0f84901eb7d3a7a2d92f45b71a3534b71a6136dcc0b8dc15fcfdf80a8fb80a

Contents?: true

Size: 962 Bytes

Versions: 9

Compression:

Stored size: 962 Bytes

Contents

# frozen_string_literal: true

module Vedeu

  module Renderers

    # Converts a grid of {Vedeu::Cells::Char} objects into a stream of
    # escape sequences and content suitable for a terminal.
    #
    # @api private
    #
    class Terminal

      include Vedeu::Renderers::Options

      # Render a cleared output.
      #
      # @return [String]
      def clear
        Vedeu::Terminal.clear

        render('')
      end

      # Render the output (either content or clearing) to the console.
      #
      # @return [String]
      def write
        Vedeu.direct_write(writable_data)
      end

      private

      # Returns the output in a compressed form if the :compression
      # option is true.
      #
      # @return [String]
      def content
        compression
      end

      # @return [String]
      def writable_data
        return write_file if write_file?

        content
      end

    end # Terminal

  end # Renderers

end # Vedeu

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vedeu-0.8.32 lib/vedeu/renderers/terminal.rb
vedeu-0.8.31 lib/vedeu/renderers/terminal.rb
vedeu-0.8.30 lib/vedeu/renderers/terminal.rb
vedeu-0.8.29 lib/vedeu/renderers/terminal.rb
vedeu-0.8.28 lib/vedeu/renderers/terminal.rb
vedeu-0.8.27 lib/vedeu/renderers/terminal.rb
vedeu-0.8.26 lib/vedeu/renderers/terminal.rb
vedeu-0.8.25 lib/vedeu/renderers/terminal.rb
vedeu-0.8.24 lib/vedeu/renderers/terminal.rb