class WhatDay::Client

Constants

MONTHS

Public Instance Methods

day(date) click to toggle source
# File lib/what_day/client.rb, line 6
def day(date)
        begin
                Date::DAYNAMES[date.wday]
        rescue ArgumentError
                nil
        end
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/what_day/client.rb, line 14
def method_missing(name, *args, &block)
        if name.to_s =~ Regexp.new("^(beginning||end)_of_#{MONTHS}_\\d+$", true)
                date = parse_date_string(name.to_s)
                day date
        else
                super
        end
end

Private Instance Methods

format_date_string(str) click to toggle source
# File lib/what_day/client.rb, line 35
def format_date_string(str)
        str.downcase
end
parse_date_string(name) click to toggle source
# File lib/what_day/client.rb, line 25
def parse_date_string(name)
        methods = name.split("_")
        selector = methods[0].downcase
        month = format_date_string methods[2]
        year = methods[3].to_i
        str = "#{year}-#{month}-1"
        date = Date.parse str
        selector == "end" ? date.to_date.end_of_month : date
end