# File lib/hammer_cli/output/adapter/table.rb, line 19 def print_collection(all_fields, collection) fields = field_filter.filter(all_fields) rows = collection.collect do |d| row = {} fields.each do |f| row[label_for(f)] = WrapperFormatter.new( @formatters.formatter_for_type(f.class), f.parameters).format(data_for_field(f, d) || "") end row end if rows.empty? keys = fields.map { |f| [label_for(f), ''] } rows = [Hash[keys]] @header_only = true end options = fields.collect do |f| { label_for(f) => { :width => max_width_for(f) } } end sort_order = fields.map { |f| f.label.upcase } printer = TablePrint::Printer.new(rows, options) TablePrint::Config.max_width = MAX_COLUMN_WIDTH TablePrint::Config.multibyte = true output = sort_columns(printer.table_print, sort_order) dashes = /\n([-|]+)\n/.match(output) if @header_only output = output.lines.first end puts dashes[1] if dashes puts output puts dashes[1] if dashes end
Generated with the Darkfish Rdoc Generator 2.