module RCalendar

Constants

VERSION

Public Class Methods

calendar(year, month = nil) click to toggle source
# File lib/r_calendar.rb, line 11
def self.calendar(year, month = nil)
  if month.nil?
    c = []
    (1..12).each do |m|
      c << month_calendar(year, m)
    end
    return c
  end
  return month_calendar year, month
end
month_calendar(year, month) click to toggle source
# File lib/r_calendar.rb, line 22
def self.month_calendar(year, month)
  begin_day = Date.new(year, month, 1)
  begin_weekday = begin_day.wday
  end_day_number = (begin_day.next_month - 1).day

  day_number = - begin_weekday
  c = []
  while day_number < end_day_number
    w = []
    (0..6).each do |wday|
      day_number += 1
      if day_number <= 0
        w << nil
        next
      end
      if day_number > end_day_number
        w << nil
        next
      end
      w << day_number
    end
    c << w
  end
  return c
end