Class: Calrom::Formatter::Overview

Inherits:
Calrom::Formatter show all
Defined in:
lib/calrom/formatter/overview.rb

Instance Method Summary collapse

Instance Method Details

#call(calendar, date_range, io = STDOUT) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/calrom/formatter/overview.rb', line 7

def call(calendar, date_range, io = STDOUT)
  colnum = (date_range.is_a?(Year) || date_range.each_month.to_a.size > 3) ? 3 : 1 # TODO: expose configuration
  if date_range.is_a? Year
    io.puts center_on(weekdays.size * colnum + 2 * (colnum - 1), date_range.to_s)
  end

  date_range.each_month.each_slice(colnum) do |months|
    columns = months.collect do |month|
      StringIO.new.tap do |io|
        print_month io, calendar, month, date_range.is_a?(Year)
      end
    end
    print_columns columns, io
  end
end