63 lines
775 B
Ruby
63 lines
775 B
Ruby
module Liquid
|
|
class TablerowloopDrop < Drop
|
|
def initialize(length, cols)
|
|
@length = length
|
|
@row = 1
|
|
@col = 1
|
|
@cols = cols
|
|
@index = 0
|
|
end
|
|
|
|
attr_reader :length, :col, :row
|
|
|
|
def index
|
|
@index + 1
|
|
end
|
|
|
|
def index0
|
|
@index
|
|
end
|
|
|
|
def col0
|
|
@col - 1
|
|
end
|
|
|
|
def rindex
|
|
@length - @index
|
|
end
|
|
|
|
def rindex0
|
|
@length - @index - 1
|
|
end
|
|
|
|
def first
|
|
@index == 0
|
|
end
|
|
|
|
def last
|
|
@index == @length - 1
|
|
end
|
|
|
|
def col_first
|
|
@col == 1
|
|
end
|
|
|
|
def col_last
|
|
@col == @cols
|
|
end
|
|
|
|
protected
|
|
|
|
def increment!
|
|
@index += 1
|
|
|
|
if @col == @cols
|
|
@col = 1
|
|
@row += 1
|
|
else
|
|
@col += 1
|
|
end
|
|
end
|
|
end
|
|
end
|