Sha256: 6e00073d874f93db2656dff4a76c8dbce139aaf68ad926b59d96f2ddaad6b1e5
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
module Vedeu class Buffer attr_reader :back, :front, :interface # @param attributes [Hash] # @return [Buffer] def initialize(attributes = {}) @attributes = attributes @back = attributes.fetch(:back) @front = attributes.fetch(:front) @interface = attributes.fetch(:interface) end # @param view [Interface] # @return [Buffer] def enqueue(view) merge({ back: view }) end # @return [Buffer] def refresh return merge({ front: back, back: nil }).render if content_available? return clear if no_content_available? return render end # @return [Buffer] def render Terminal.output(front.to_s) self end # @return [Buffer] def clear Terminal.output(interface.clear) self end private def merge(new_attributes) Buffer.new(@attributes.merge(new_attributes)) end def content_available? !!(back) end def no_content_available? front.nil? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.1.17 | lib/vedeu/support/buffer.rb |