class Samovar::Output::Rows
def << object
def << object @rows << Row.new(object) return self end
def columns
def columns @columns ||= Columns.new(@rows.select{|row| row.is_a? Array}) end
def each(ignore_nested: false, &block)
def each(ignore_nested: false, &block) return to_enum(:each, ignore_nested: ignore_nested) unless block_given? @rows.each do |row| if row.is_a?(self.class) row.each(&block) unless ignore_nested else yield row, self end end end
def empty?
def empty? @rows.empty? end
def first
def first @rows.first end
def indentation
def indentation @indentation ||= "\t" * @level end
def initialize(level = 0)
def initialize(level = 0) @level = level @rows = [] end
def last
def last @rows.last end
def nested(*args)
def nested(*args) @rows << Header.new(*args) nested_rows = self.class.new(@level + 1) yield nested_rows @rows << nested_rows end