Class: BSON::ObjectId
Class Method Summary collapse
Instance Method Summary collapse
- #clone ⇒ Object
-
#data ⇒ Object
“data=”, “decode64”, “encode64”, “decode_b”, “b64encode” - shout out if these methods are needed.
- #generation_time ⇒ Object
- #inspect ⇒ Object
Class Method Details
.create_pk(doc) ⇒ Object
20 21 22 |
# File 'lib/jmongo/mongo/bson.rb', line 20 def self.create_pk(doc) doc.has_key?(:_id) || doc.has_key?('_id') ? doc : doc.merge!(:_id => self.new) end |
.from_string(str) ⇒ Object
14 15 16 17 18 |
# File 'lib/jmongo/mongo/bson.rb', line 14 def self.from_string(str) v = is_valid?(str.to_s) raise BSON::InvalidObjectId, "illegal ObjectID format" unless v new(str.to_s) end |
.from_time(time, opts = {}) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/jmongo/mongo/bson.rb', line 24 def self.from_time(time, opts={}) unique = opts.fetch(:unique, false) if unique self.new(time) else self.new([time.to_i,0,0].pack("NNN").to_java_bytes) end end |
Instance Method Details
#clone ⇒ Object
39 40 41 |
# File 'lib/jmongo/mongo/bson.rb', line 39 def clone self.class.new(self.to_byte_array) end |
#data ⇒ Object
“data=”, “decode64”, “encode64”, “decode_b”, “b64encode” - shout out if these methods are needed
35 36 37 |
# File 'lib/jmongo/mongo/bson.rb', line 35 def data self.to_byte_array.to_a.map{|x| x & 0xFF} end |
#generation_time ⇒ Object
47 48 49 |
# File 'lib/jmongo/mongo/bson.rb', line 47 def generation_time Time.at(self.get_time/1000).utc end |
#inspect ⇒ Object
43 44 45 |
# File 'lib/jmongo/mongo/bson.rb', line 43 def inspect "BSON::ObjectID('#{self.to_s}')" end |