module PgDice::DateHelper
Helper used to manipulate date objects
Public Instance Methods
pad_date(numbers)
click to toggle source
# File lib/pgdice/date_helper.rb, line 6 def pad_date(numbers) return numbers if numbers.size == 8 case numbers.size when 6 return numbers + '01' when 4 return numbers + '0101' else raise ArgumentError, "Invalid date. Cannot parse date from #{numbers}" end end
safe_date_builder(table_name)
click to toggle source
# File lib/pgdice/date_helper.rb, line 32 def safe_date_builder(table_name) matches = table_name.match(/\d+/) raise ArgumentError, "Invalid date. Cannot parse date from #{table_name}" unless matches Date.parse(pad_date(matches[0])) end
truncate_date(date, period)
click to toggle source
# File lib/pgdice/date_helper.rb, line 19 def truncate_date(date, period) case period when 'year' Date.parse("#{date.year}0101") when 'month' Date.parse("#{date.strftime('%Y%m')}01") when 'day' date else raise ArgumentError, "Invalid date. Cannot parse date from #{date}" end end