Class: Ld::Print

Inherits:
Object
  • Object
show all
Defined in:
lib/ld/print/print.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(models) ⇒ Print

Returns a new instance of Print.



5
6
7
# File 'lib/ld/print/print.rb', line 5

def initialize models
  @models = models
end

Class Method Details

.p(models, fields) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ld/print/print.rb', line 9

def self.p models,fields
  t = Terminal::Table.new
  t.title = models.first.class.to_s
  fields = (fields.class == Array ? fields : fields.split(',')).map{|f| f.rstrip.lstrip}
  t.headings = fields
  models.map { |model|
    fields.map { |field|
      value = model.send field
      value = value.strftime("%Y/%m/%d %H:%M:%S") if [Date, Time, DateTime, ActiveSupport::TimeWithZone].include? value.class
      value
    }
  }#.sort{|a,b| a[2] <=> b[2]}
      .each{|row| t.add_row row}
  puts t
end