Module: Avro::LogicalTypes::TimestampMillis

Defined in:
lib/avro-patches/logical_types/logical_types.rb

Class Method Summary collapse

Class Method Details

.decode(int) ⇒ Object



27
28
29
30
# File 'lib/avro-patches/logical_types/logical_types.rb', line 27

def self.decode(int)
  s, ms = int / 1000, int % 1000
  Time.at(s, ms * 1000).utc
end

.encode(value) ⇒ Object



20
21
22
23
24
25
# File 'lib/avro-patches/logical_types/logical_types.rb', line 20

def self.encode(value)
  return value.to_i if value.is_a?(Numeric)

  time = value.to_time
  time.to_i * 1000 + time.usec / 1000
end