class Haora::DateParser
Public Class Methods
parse(date)
click to toggle source
# File lib/haora/day.rb, line 98 def self.parse(date) begin case date when /m([0-9]+)/ Day.today.prev_day($1.to_i) when /([0-9]?[0-9]).([0-9]?[0-9]).([0-9]?[0-9]?[0-9][0-9])/ return Date.new(year($3), mon($2), mday($1)) when /([0-9]?[0-9]).([0-9]?[0-9]).?/ return Date.new(year, mon($2), mday($1)) when /([0-9]?[0-9]).?/ return Date.new(year, mon, mday($1)) when /mon?/ return Day.today.prev_wday(1) when /tue?/ return Day.today.prev_wday(2) when /wed?/ return Day.today.prev_wday(3) when /thu?/ return Day.today.prev_wday(4) when /fri?/ return Day.today.prev_wday(5) when /sat?/ return Day.today.prev_wday(6) when /sun?/ return Day.today.prev_wday(0) else return Date.today end rescue => error puts error raise ArgumentError, 'invalid date' end end
Private Class Methods
mday(mday_param = Day.today.mday)
click to toggle source
# File lib/haora/day.rb, line 144 def self.mday(mday_param = Day.today.mday) mday_param.to_i end
mon(mon_param = Day.today.mon)
click to toggle source
# File lib/haora/day.rb, line 140 def self.mon(mon_param = Day.today.mon) mon_param.to_i end
year(year_param = Day.today.year)
click to toggle source
# File lib/haora/day.rb, line 134 def self.year(year_param = Day.today.year) year = year_param.to_i year = year + 2000 if year < 100 && year + 2000 <= Date.today.year year end