class Samovar::Table
def << row
def << row @rows << row if row.respond_to?(:parse) @parser << row end end
def initialize
def initialize @rows = [] @parser = [] end
def parse(input)
def parse(input) @parser.each do |row| if result = row.parse(input) yield row.key, result, row end end end
def usage
def usage items = Array.new @rows.each do |row| items << row.to_s end items.join(' ') end