Sha256: 12a5edf91ab5ce149f01bb785d67bb59a8829a17a70049e18675e238eff69c62

Contents?: true

Size: 712 Bytes

Versions: 2

Compression:

Stored size: 712 Bytes

Contents

module Vedeu
  class Buffer
    attr_reader :clear, :current, :group, :name, :_next

    def initialize(vars)
      @vars    = vars
      @name    = vars.fetch(:name)
      @clear   = vars.fetch(:clear)
      @current = vars.fetch(:current)
      @group   = vars.fetch(:group)
      @_next   = vars.fetch(:next)
    end

    def enqueue(sequence)
      merge({ next: sequence })
    end

    def refresh
      sequence = if !_next.empty?
        merge({ current: _next, next: '' }).current

      elsif current.empty?
        clear

      else
        current

      end

      Terminal.output(sequence)

      self
    end

    private

    def merge(vars)
      Buffer.new(@vars.merge(vars))
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.1.15 lib/vedeu/support/buffer.rb
vedeu-0.1.14 lib/vedeu/support/buffer.rb