Add class method from_time to ruby well known types - Timestamp

pull/8562/head
Chris McClymont 4 years ago
parent 2a11e892ed
commit 6d847adda7
  1. 5
      ruby/lib/google/protobuf/well_known_types.rb
  2. 8
      ruby/tests/well_known_types_test.rb

@ -85,6 +85,11 @@ module Google
def from_time(time)
self.seconds = time.to_i
self.nanos = time.nsec
self
end
def self.from_time(time)
new.from_time(time)
end
def to_i

@ -15,16 +15,20 @@ class TestWellKnownTypes < Test::Unit::TestCase
# millisecond accuracy
time = Time.at(123456, 654321)
ts.from_time(time)
ts = Google::Protobuf::Timestamp.from_time(time)
assert_equal 123456, ts.seconds
assert_equal 654321000, ts.nanos
assert_equal time, ts.to_time
# nanosecond accuracy
time = Time.at(123456, Rational(654321321, 1000))
ts.from_time(time)
ts = Google::Protobuf::Timestamp.from_time(time)
assert_equal 654321321, ts.nanos
assert_equal time, ts.to_time
# Instance method returns the same value as class method
assert_equal Google::Protobuf::Timestamp.new.from_time(time),
Google::Protobuf::Timestamp.from_time(time)
end
def test_duration

Loading…
Cancel
Save