35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/log_query/screen.rb', line 35
def draw
@buffer = ""
line_count = [@old_lines.size, @new_lines.size].max
@old_lines.fill(nil, @old_lines.size, line_count) if @old_lines.size < line_count
@new_lines.fill(nil, @new_lines.size, line_count) if @new_lines.size < line_count
@old_lines.zip(@new_lines).each_with_index do |(old, new), index|
if old != new
move_to(index)
delete_current_line
print_line(new)
end
end
@old_lines = @new_lines
@new_lines = []
print @buffer
end
|