13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/offset_to_string.rb', line 13
def call(offset)
return OFFSET_CACHE[offset] if OFFSET_CACHE.has_key?(offset)
if !(-MAX_OFFSET..MAX_OFFSET).include?(offset)
raise ArgumentError, "offset should be in (-#{MAX_OFFSET}..#{MAX_OFFSET})"
end
val = offset.abs
hours = val / 3600
minutes = (val % 3600) / 60
str = "#{offset < 0 ? '-' : '+'}#{hours < 10 ? '0' : ''}#{hours}:#{minutes < 10 ? '0' : ''}#{minutes}"
OFFSET_CACHE[offset] = str
end
|