# File lib/fluent/time.rb, line 87 def self.eq?(a, b) if a.is_a?(Fluent::EventTime) && b.is_a?(Fluent::EventTime) a.sec == b.sec && a.nsec == b.nsec else a == b end end
# File lib/fluent/time.rb, line 79 def self.from_msgpack_ext(data) new(*data.unpack('NN')) end
# File lib/fluent/time.rb, line 83 def self.from_time(time) Fluent::EventTime.new(time.to_i, time.nsec) end
# File lib/fluent/time.rb, line 28 def initialize(sec, nsec = 0) @sec = sec @nsec = nsec end
# File lib/fluent/time.rb, line 95 def self.now from_time(Time.now) end
# File lib/fluent/time.rb, line 99 def self.parse(*args) from_time(Time.parse(*args)) end
# File lib/fluent/time.rb, line 33 def ==(other) if other.is_a?(Fluent::EventTime) @sec == other.sec else @sec == other end end
for > and others
# File lib/fluent/time.rb, line 59 def coerce(other) [other, @sec] end
TODO: For performance, implement +, -, and so on
# File lib/fluent/time.rb, line 104 def method_missing(name, *args, &block) @sec.send(name, *args, &block) end
# File lib/fluent/time.rb, line 45 def nsec @nsec end
# File lib/fluent/time.rb, line 41 def sec @sec end
# File lib/fluent/time.rb, line 49 def to_int @sec end
# File lib/fluent/time.rb, line 67 def to_json(*args) @sec.to_s end
# File lib/fluent/time.rb, line 71 def to_msgpack(io = nil) @sec.to_msgpack(io) end
# File lib/fluent/time.rb, line 75 def to_msgpack_ext [@sec, @nsec].pack('NN') end
for Time.at
# File lib/fluent/time.rb, line 54 def to_r Rational(@sec * 1_000_000_000 + @nsec, 1_000_000_000) end
# File lib/fluent/time.rb, line 63 def to_s @sec.to_s end