Class/Module Index [+]

Quicksearch

Moped::BSON::Extensions::String

Public Instance Methods

__bson_dump__(io, key) click to toggle source
# File lib/moped/bson/extensions/string.rb, line 12
def __bson_dump__(io, key)
  io << Types::STRING
  io << key.to_bson_cstring

  data = to_utf8_binary

  io << [ data.bytesize + 1 ].pack(INT32_PACK)
  io << data
  io << NULL_BYTE
end
from_utf8_binary() click to toggle source
# File lib/moped/bson/extensions/string.rb, line 40
def from_utf8_binary
  force_encoding(UTF8_ENCODING).encode!
end
to_bson_cstring() click to toggle source
# File lib/moped/bson/extensions/string.rb, line 23
def to_bson_cstring
  if include? NULL_BYTE
    raise EncodingError, "#{inspect} cannot be converted to a BSON "                "cstring because it contains a null byte"
  end

  to_utf8_binary << NULL_BYTE
end
to_utf8_binary() click to toggle source
# File lib/moped/bson/extensions/string.rb, line 32
def to_utf8_binary
  encode(UTF8_ENCODING).force_encoding(BINARY_ENCODING)
rescue EncodingError
  data = dup.force_encoding(UTF8_ENCODING)
  raise unless data.valid_encoding?
  data.force_encoding(BINARY_ENCODING)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.