15 lines
361 B
Ruby
15 lines
361 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module DatetimeClampingConcern
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
MIN_ISO8601_DATETIME = '0000-01-01T00:00:00Z'.to_datetime.freeze
|
||
|
MAX_ISO8601_DATETIME = '9999-12-31T23:59:59Z'.to_datetime.freeze
|
||
|
|
||
|
class_methods do
|
||
|
def clamp_date(datetime)
|
||
|
datetime.clamp(MIN_ISO8601_DATETIME, MAX_ISO8601_DATETIME)
|
||
|
end
|
||
|
end
|
||
|
end
|