Module: BSON::String
- Defined in:
- lib/bson/string.rb
Overview
Injects behaviour for encoding and decoding string values to and from raw bytes as specified by the BSON spec.
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- BSON_TYPE =
A string is type 0x02 in the BSON spec.
2.chr.force_encoding(BINARY).freeze
Instance Method Summary collapse
-
#to_bson(buffer = ByteBuffer.new) ⇒ String
Get the string as encoded BSON.
-
#to_bson_key ⇒ String
Get the string as a BSON key name encoded C string with checking for special characters.
-
#to_bson_object_id ⇒ String
Convert the string to an object id.
-
#to_hex_string ⇒ String
Convert the string to a hexidecimal representation.
Instance Method Details
#to_bson(buffer = ByteBuffer.new) ⇒ String
Get the string as encoded BSON.
43 44 45 |
# File 'lib/bson/string.rb', line 43 def to_bson(buffer = ByteBuffer.new) buffer.put_string(self) end |
#to_bson_key ⇒ String
Get the string as a BSON key name encoded C string with checking for special characters.
59 60 61 |
# File 'lib/bson/string.rb', line 59 def to_bson_key self end |
#to_bson_object_id ⇒ String
Note:
This is used for repairing legacy bson data.
Convert the string to an object id. This will only work for strings of size 12.
76 77 78 |
# File 'lib/bson/string.rb', line 76 def to_bson_object_id ObjectId.repair(self) end |
#to_hex_string ⇒ String
Convert the string to a hexidecimal representation.
88 89 90 |
# File 'lib/bson/string.rb', line 88 def to_hex_string unpack("H*")[0] end |