module DateDiscreter
Constants
- VERSION
Public Instance Methods
continuous_days?(dates)
click to toggle source
whether arg months are continuous @param dates [Array<Date>]
# File lib/date_discreter.rb, line 50 def continuous_days?(dates) discrete_days(dates).empty? end
continuous_hours?(hours)
click to toggle source
whether arg months are continuous @param hours [Array<Date>]
# File lib/date_discreter.rb, line 56 def continuous_hours?(hours) discrete_hours(hours).empty? end
continuous_months?(months)
click to toggle source
whether arg months are continuous @param months [Array<Date>]
# File lib/date_discreter.rb, line 44 def continuous_months?(months) discrete_months(months).empty? end
discrete_days(dates)
click to toggle source
return discrete of arg days @param dates [Array<Date,Time>] @return [Array<Date>] if arg is continuous return empty array.
# File lib/date_discreter.rb, line 17 def discrete_days(dates) discrete_times(dates, 1.day) end
discrete_hours(hours)
click to toggle source
return discrete of arg hours @param hours [Array<Time>] @return [Array<Time>] if arg is continuous return empty array.
# File lib/date_discreter.rb, line 24 def discrete_hours(hours) discrete_times(hours, 1.hour) end
discrete_months(months)
click to toggle source
return discrete of arg months @param months [Array<Date,Time>] @return [Array<Date>] if arg is continuous return empty array.
# File lib/date_discreter.rb, line 10 def discrete_months(months) discrete_times(months, 1.month) end
discrete_times(target_times, degree)
click to toggle source
# File lib/date_discreter.rb, line 28 def discrete_times(target_times, degree) return [] if target_times.length < 2 sorted = target_times.sort cursor, range_upper = sorted[0], sorted[-1] filledup = [] while (cursor < range_upper) filledup << cursor cursor += degree end filledup - target_times end