class Couchbase::Transcoder::Document

Public Instance Methods

decode(d) click to toggle source
Calls superclass method
# File lib/couchbase/transcoder.rb, line 29
def decode(d)
  decoded = super
  data = if decoded.respond_to?(:to_str)
           decoded
         else
           decoded.getData.to_s
         end

  MultiJson.load(data)
rescue MultiJson::LoadError
  ::Marshal.load(data)
end
encode(o) click to toggle source
Calls superclass method
# File lib/couchbase/transcoder.rb, line 42
def encode(o)
  super MultiJson.dump(o)
rescue ArgumentError => e
  ex = Couchbase::Error::ValueFormat.new
  ex.inner_exception = e
  fail ex
end