class RussianWorkdays::Day
Attributes
Public Class Methods
Source
# File lib/russian_workdays/day.rb, line 9 def initialize(date) raise ArgumentError, 'Must be a Date object' unless date.is_a?(::Date) raise MissingYearError, date.year unless DATES.key?(date.year) @date = date end
Public Instance Methods
Source
# File lib/russian_workdays/day.rb, line 16 def holiday? return true if DATES[date.year][:holidays].include?(date) !preholiday? && weekend? end
Source
# File lib/russian_workdays/day.rb, line 22 def preholiday? DATES[date.year][:preholidays].include?(date) end
Source
# File lib/russian_workdays/day.rb, line 30 def type return :holiday if holiday? return :preholiday if preholiday? :work if work? end
Private Instance Methods
Source
# File lib/russian_workdays/day.rb, line 43 def weekend? date.sunday? || date.saturday? end