Module: RubySeasons::ClassMethods

Extended by:
ClassMethods
Included in:
ClassMethods
Defined in:
lib/ruby_seasons/ruby_seasons.rb

Constant Summary collapse

@@lookup_file =
File.expand_path('../../lookup_tables/london_seasons.csv', __FILE__)

Instance Method Summary collapse

Instance Method Details

#get_season(date) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ruby_seasons/ruby_seasons.rb', line 10

def get_season(date)
  datetime = date.class == DateTime ? date : DateTime.parse(date.to_s)
  year = datetime.strftime('%Y')
  if (season_lookup_table[year][:spring_start]..season_lookup_table[year][:summer_start]).cover?(datetime)
    'spring'
  elsif (season_lookup_table[year][:summer_start]..season_lookup_table[year][:autumn_start]).cover?(datetime)
    'summer'
  elsif (season_lookup_table[year][:autumn_start]..season_lookup_table[year][:winter_start]).cover?(datetime)
    'autumn'
  else
    'winter'
  end
end

#season_lookup_tableObject



6
7
8
# File 'lib/ruby_seasons/ruby_seasons.rb', line 6

def season_lookup_table
  @@season_lookup_table ||= get_season_lookup_table
end