Class: VerifiedHolidays::Dataset

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/verified_holidays/dataset.rb

Instance Method Summary collapse

Constructor Details

#initializeDataset

Returns a new instance of Dataset.



11
12
13
# File 'lib/verified_holidays/dataset.rb', line 11

def initialize
  @holidays = load_yaml
end

Instance Method Details

#allObject



15
16
17
# File 'lib/verified_holidays/dataset.rb', line 15

def all
  @holidays
end

#between(start_date, last_date) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/verified_holidays/dataset.rb', line 19

def between(start_date, last_date)
  start_date = to_date(start_date)
  last_date = to_date(last_date)
  @holidays.each_with_object([]) do |(date, holiday), result|
    result << holiday if date.between?(start_date, last_date)
  end
end

#holiday?(date) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/verified_holidays/dataset.rb', line 27

def holiday?(date)
  @holidays.key?(to_date(date))
end

#name(date) ⇒ Object



31
32
33
# File 'lib/verified_holidays/dataset.rb', line 31

def name(date)
  @holidays[to_date(date)]&.name
end

#year(year) ⇒ Object



35
36
37
38
39
# File 'lib/verified_holidays/dataset.rb', line 35

def year(year)
  @holidays.each_with_object([]) do |(date, holiday), result|
    result << holiday if date.year == year
  end
end