Module: Chinese::Holidays

Defined in:
lib/chinese/holidays.rb,
lib/chinese/holidays/days.rb,
lib/chinese/holidays/version.rb

Defined Under Namespace

Classes: Days

Constant Summary collapse

VERSION =
"0.10.0"

Class Method Summary collapse

Class Method Details

.allObject

List all holidays



9
10
11
# File 'lib/chinese/holidays.rb', line 9

def self.all
  self.events.select {|event| event.type == 'holiday'}
end

.event(date) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/chinese/holidays.rb', line 29

def self.event(date)
  if date.is_a? Date
    self.load_holidays[date]
  elsif date.respond_to? :to_date
    self.load_holidays[date.to_date]
  end
end

.is_holiday?(date) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
# File 'lib/chinese/holidays.rb', line 13

def self.is_holiday?(date)
  event = self.event(date)

  return self.weekend?(self.to_date(date)) if event.nil?

  event.holiday?
end

.is_workingday?(date) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
# File 'lib/chinese/holidays.rb', line 21

def self.is_workingday?(date)
  event = self.event(date)

  return !self.weekend?(self.to_date(date)) if event.nil?

  event.workingday?
end