Sha256: 4fd003d2ec530b42091f03a429d2e92b1558919325dbb34d57a4f3368e813d05
Contents?: true
Size: 911 Bytes
Versions: 2
Compression:
Stored size: 911 Bytes
Contents
module EDTF module Seasons attr_reader :season def season?; !!@season; end def season=(new_season) case new_season when 1, 2, 3, 4 @season = new_season + 20 when 21, 22, 23, 24 @season = new_season else raise ArgumentError, "bad season format (21, 22, 23 or 24 expected; was #{new_season.inspect})" end end [:first, :second, :third, :fourth].zip((21..24).to_a).each do |quarter, code| define_method("#{quarter}?") { @season == code } define_method("#{quarter}!") { @season = code } end [:spring, :summer, :autumn, :winter].zip([:first, :second, :third, :fourth]).each do |season, quarter| alias_method("#{season}?", "#{quarter}?") alias_method("#{season}!", "#{quarter}!") end attr_accessor :qualifier def qualified?; !!@qualifier; end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
edtf-0.0.3 | lib/edtf/seasons.rb |
edtf-0.0.2 | lib/edtf/seasons.rb |