Sha256: ba2a57fafc8b0acf7025894fa6f986b5c70bbe07542fde2192c1c2ef5e2a416f

Contents?: true

Size: 897 Bytes

Versions: 2

Compression:

Stored size: 897 Bytes

Contents

module Vedeu

  module Buffers

    class View

      def initialize(attributes = {})
        defaults.merge!(attributes).each do |key, value|
          instance_variable_set("@#{key}", value || defaults.fetch(key))
        end
      end

      private

      def border
        Vedeu.borders.by_name(name)
      end

      def buffer
        @_buffer ||= Vedeu::Buffers::Empty.new(height: border.height,
                                               name:   name,
                                               width:  border.width).buffer
      end

      def current
        @current ||= buffer
      end

      def current_reset!
        @current = buffer
      end

      def defaults
        {
          name: ''
        }
      end

      def dirty
        @dirty ||= buffer
      end

      def dirty_reset!
        @dirty = buffer
      end

    end # View

  end # Buffers

end # Vedeu

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.6.53 lib/vedeu/buffers/view.rb
vedeu-0.6.52 lib/vedeu/buffers/view.rb