RubyCalendar
Description
ruby_calendar
is allows you to calendar output calendars like the Unix cal program.
Installation
Install it yourself as:
$ gem install ruby_calendar
Usage
- Output calendars
calendar = RubyCalendar::Calendar.new(2021, 1)
puts calendar.month
# January 2021
# Su Mo Tu We Th Fr Sa
# 1 2
# 3 4 5 6 7 8 9
# 10 11 12 13 14 15 16
# 17 18 19 20 21 22 23
# 24 25 26 27 28 29 30
# 31
# => nil
Setting calendar methods
set_year()
It specifies the year for which the calendar is displayed.
- default values
- year: Date.today.year
- month: Date.today.month
- firstweekday: 0
Change by giving a number to the argument.
ex) 2021 -> 2022.
calendar = RubyCalendar::Calendar.new(2021, 1)
# => #<RubyCalendar::Calendar:0x00007f9a58161788 @year=2021, @month=1, @firstweekday=0>
calendar.set_year(2022)
# => #<RubyCalendar::Calendar:0x00007f9a58161788 @year=2022, @month=1, @firstweekday=0>
set_month()
It specifies the month to display(month method) the monthly calendar(default: January). Change by giving a number to the argument.
ex) 1(January) -> 1(December).
calendar = RubyCalendar::Calendar.new(2021, 1)
# => #<RubyCalendar::Calendar:0x00007f9a58161788 @year=2021, @month=1, @firstweekday=0>
calendar.set_month(12)
# => #<RubyCalendar::Calendar:0x00007f9a58149598 @year=2021, @month=12, @firstweekday=0>
set_firstweekday()
It specifies the beginning of the week(default: Sunday). Change by giving a number to the argument.
ex) 0(Sunday) -> 1(Monday).
calendar = RubyCalendar::Calendar.new(2021, 1)
# => #<RubyCalendar::Calendar:0x00007f9a58132460 @year=2021, @month=1, @firstweekday=0>
calendar.set_firstweekday(1)
# => #<RubyCalendar::Calendar:0x00007f9a58132460 @year=2021, @month=1, @firstweekday=1>
Output calendar methods
month(year, month, w:0, l:0)
Return a month’s calendar in a multi-line string.
- The following keyword arguments can be used.
- w: it specifies the width of the date columns which are centered(default: 0).
- l: it specifies the number of lines that each week will use(default: 0).
year(year, w:0, l:0, c:6, m:3)
Return a year’s calendar in a multi-line string.
- The following keyword arguments can be used.
- w: it specifies the width of the date columns which are centered(default: 0).
- l: it specifies the number of lines that each week will use(default: 0).
- c: it specifies the monthly calendar interval(default: 6).
- m: it specifies the number of months to display on one line(default: 3).
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/ruby_calendar. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the RubyCalendar project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.