You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/app/decorators/snapshot_decorator.rb

26 lines
443 B
Ruby

class SnapshotDecorator < ApplicationDecorator
delegate_all
def lines
(0...height).map { |line_no| line(line_no) }
end
private
def line(line_no)
line = (0...width).map { |column_no| model.cell(column_no, line_no) }
decorate_cells(optimize_line(line))
end
def optimize_line(line)
LineOptimizer.new.optimize(line)
end
def decorate_cells(cells)
cells.map { |cell| CellDecorator.new(cell) }
end
end