Sha256: 01b63d749e16bbee2aa4db659341275528c0e5e50fc3e6ae7d8e9585d451c557
Contents?: true
Size: 1.95 KB
Versions: 30
Compression:
Stored size: 1.95 KB
Contents
# Copyright (C) 2009-2013 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module BSON # A class for representing BSON Timestamps. The Timestamp type is used # by MongoDB internally; thus, it should be used by application developers # for diagnostic purposes only. class Timestamp include Enumerable attr_reader :seconds, :increment # Create a new BSON Timestamp. # # @param [Integer] seconds The number of seconds # @param increment def initialize(seconds, increment) @seconds = seconds @increment = increment end def to_s "seconds: #{seconds}, increment: #{increment}" end def ==(other) self.seconds == other.seconds && self.increment == other.increment end # This is for backward-compatibility. Timestamps in the Ruby # driver used to deserialize as arrays. So we provide # an equivalent interface. # # @deprecated def [](index) warn "Timestamps are no longer deserialized as arrays. If you're working " + "with BSON Timestamp objects, see the BSON::Timestamp class. This usage will " + "be deprecated in Ruby Driver v2.0." if index == 0 self.increment elsif index == 1 self.seconds else nil end end # This method exists only for backward-compatibility. # # @deprecated def each i = 0 while i < 2 yield self[i] i += 1 end end end end
Version data entries
30 entries across 30 versions & 1 rubygems