module BSON::Date

Injects behaviour for encoding date values to raw bytes as specified by the BSON spec for time.

@see bsonspec.org/#/specification

@since 2.1.0

Public Instance Methods

bson_type() click to toggle source

Get the BSON type for the date.

As the date is converted to a time, this returns the BSON type for time.

# File lib/bson/date.rb, line 55
def bson_type
  ::Time::BSON_TYPE
end
to_bson(buffer = ByteBuffer.new, validating_keys = Config.validating_keys?) click to toggle source

Get the date as encoded BSON.

@example Get the date as encoded BSON.

Date.new(2012, 1, 1).to_bson

@return [ BSON::ByteBuffer ] The buffer with the encoded object.

@see bsonspec.org/#/specification

@since 2.1.0

# File lib/bson/date.rb, line 48
def to_bson(buffer = ByteBuffer.new, validating_keys = Config.validating_keys?)
  buffer.put_int64((jd - DATE_REFERENCE) * MILLISECONDS_IN_DAY)
end