Sha256: 9227e52956c4f4f385acc3c527e6c7d4291c1596bf29beedcf3cfba03c6bca08
Contents?: true
Size: 581 Bytes
Versions: 1
Compression:
Stored size: 581 Bytes
Contents
# frozen_string_literal: true require "date" module Matheus class DateOfLast < Command def call(day_name) day_name = day_name.to_s target_wday = wday_for(day_name) or return Failure("invalid day name: #{day_name}") date = Date.today one_day_ago = (date - 1) one_week_ago = date - 7 date = one_day_ago.downto(one_week_ago).find { _1.wday == target_wday } puts date end private def wday_for(day_name) Date::DAYNAMES.index(day_name.capitalize) || Date::ABBR_DAYNAMES.index(day_name.capitalize) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
matheus-0.1.0 | lib/matheus/date_of_last.rb |