2024-09-30 10:49:11 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
module Timestamps
|
|
|
|
|
def self.parse_timestamp(timestamp)
|
2025-12-08 18:17:24 -05:00
|
|
|
min_timestamp = Time.zone.parse('1970-01-01').to_i
|
|
|
|
|
max_timestamp = Time.zone.parse('2100-01-01').to_i
|
|
|
|
|
|
|
|
|
|
parsed = DateTime.parse(timestamp).to_time.to_i
|
|
|
|
|
|
|
|
|
|
parsed.clamp(min_timestamp, max_timestamp)
|
|
|
|
|
rescue StandardError
|
|
|
|
|
result =
|
2024-09-30 10:49:11 -04:00
|
|
|
if timestamp.to_s.length > 10
|
|
|
|
|
timestamp.to_i / 1000
|
|
|
|
|
else
|
|
|
|
|
timestamp.to_i
|
|
|
|
|
end
|
2025-12-08 18:17:24 -05:00
|
|
|
|
|
|
|
|
result.clamp(min_timestamp, max_timestamp)
|
2024-09-30 10:49:11 -04:00
|
|
|
end
|
|
|
|
|
end
|