Module: FeastFast::DB

Defined in:
lib/feast_fast/db.rb

Class Method Summary collapse

Class Method Details

.data(year) ⇒ Object Also known as: year



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/feast_fast/db.rb', line 3

def self.data(year)
  return @data[year] if @data && @data.has_key?( year )

  @data ||= {}
  e, d = Calculator.easter_and_days(year)
  @data[year] = {
    :easter => e,
    :days => d
  }
  @data[year]
end

.date(date) ⇒ Object

Raises:

  • (TypeError)


17
18
19
20
# File 'lib/feast_fast/db.rb', line 17

def self.date(date)
  raise( TypeError, 'expected date' ) unless date.instance_of? Date
  self.data(date.year)[:days][date]
end

.feasts(year, *params) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/feast_fast/db.rb', line 22

def self.feasts(year, *params)
  days = self.data(year)[:days].select do |date, hash|
    if params.any?
      hash[:feasts].map{|feast| params.include? feast.status}.any?
    else
      hash[:feasts].any?
    end
  end
  Hash[days]
end