Sha256: 9c146a26c15f8dd0e6212b5aa68b9dc0aa565b8e73ac4d0f75cd769c81e04aa6

Contents?: true

Size: 1.3 KB

Versions: 14

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

module Vedeu

  module Cells

    # Provides the position and visibility escape sequence for a
    # {Vedeu::Cursors::Cursor}
    #
    # @api private
    #
    class Cursor < Vedeu::Cells::Empty

      # @return [NilClass]
      def null
        nil
      end
      alias background null
      alias colour null
      alias foreground null
      alias style null

      # @return [String]
      def to_ast
        ''
      end

      # Return an empty hash as most escape sequences won't make
      # sense as JSON.
      #
      # @return [Hash<void>]
      def to_h
        {}.merge!(position.to_h).merge!(value: value)
      end
      alias to_hash to_h

      # Return an empty string as most escape sequences won't make
      # sense as HTML.
      #
      # @param _options [Hash] Ignored.
      # @return [String]
      def to_html(_options = {})
        ''
      end

      # @return [String]
      def to_s
        "#{position}#{value}"
      end
      alias to_str to_s

      # @return [String]
      def text
        ''
      end

      # @return [Symbol]
      def type
        :cursor
      end

      private

      # @macro defaults_method
      def defaults
        super.merge!(position: Vedeu::Geometries::Position.new(1, 1))
      end

    end # Cursor

  end # Cells

end # Vedeu

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vedeu-0.8.32 lib/vedeu/cells/cursor.rb
vedeu-0.8.31 lib/vedeu/cells/cursor.rb
vedeu-0.8.30 lib/vedeu/cells/cursor.rb
vedeu-0.8.29 lib/vedeu/cells/cursor.rb
vedeu-0.8.28 lib/vedeu/cells/cursor.rb
vedeu-0.8.27 lib/vedeu/cells/cursor.rb
vedeu-0.8.26 lib/vedeu/cells/cursor.rb
vedeu-0.8.25 lib/vedeu/cells/cursor.rb
vedeu-0.8.24 lib/vedeu/cells/cursor.rb
vedeu-0.8.23 lib/vedeu/cells/cursor.rb
vedeu-0.8.22 lib/vedeu/cells/cursor.rb
vedeu-0.8.21 lib/vedeu/cells/cursor.rb
vedeu-0.8.20 lib/vedeu/cells/cursor.rb
vedeu-0.8.19 lib/vedeu/cells/cursor.rb