]>
git.immae.eu Git - perso/Immae/Projets/Ruby/Monitor.git/blob - buffer.rb
16 @buff.each
do |string
|
17 if string
.length
> maxlen
18 maxlen
= string
.length
24 def push(string
,type
=0)
25 if(string
.chomp
.empty
?) then string
= " " end
26 string
.split( /\r?\n/ ).each
do |line
|
27 @buff[@current] = line
28 @buff_type[@current] = type
30 @current = (1+
@current) % @size
34 if(@current == 0) then @wrap = true end
37 def yield(size
,offset
=0,&block
)
38 if(size
< 0) then size
= 0 end
39 range
= Range
.new(0,@current-1).to_a
41 range
= Range
.new(@current,@size-1).to_a + range
43 range
= range
.last(size+offset
)[0,size
]
44 @before = (size+offset
< @buff.length
)
45 @after = (offset !
= 0 and size
< @buff.length
)
48 yield [@buff[i
],@buff_type[i
]]
51 return range
.collect
{|r
| [@buff[r
],@buff_type[r
]]}