class Flumtter::Window::Buf::Buf
Attributes
cursor[RW]
Public Class Methods
new(base_cls=Element)
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 10 def initialize(base_cls=Element) @base_cls = base_cls @buf = [] @cursor = 0 end
Public Instance Methods
[](key)
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 28 def [](key) elem = @buf[key] raise NoMoreData unless elem elem end
add(object)
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 40 def add(object) @buf << @base_cls.new(object, @buf.size) end
adds(objects)
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 34 def adds(objects) objects.each do |obj| @buf << @base_cls.new(obj, @buf.size) end end
cursor=(n)
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 16 def cursor=(n) if n <= 0 @cursor = 0 else @cursor = n end end
get()
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 44 def get if @buf[@cursor].nil? prefetch end elem = @buf[@cursor] @cursor += 1 raise NoMoreData unless elem elem end
prev()
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 54 def prev @cursor -= 1 end
size()
click to toggle source
# File lib/flumtter/app/core/windows/buf_window.rb, line 24 def size @buf.size end