module CouchbaseOrm

Constants

VERSION

Public Class Methods

try_load(id) click to toggle source
# File lib/couchbase-orm.rb, line 11
def self.try_load(id)
    result = nil
    result = id.respond_to?(:cas) ? id : CouchbaseOrm::Base.bucket.get(id, quiet: true, extended: true)

    if result && result.value.is_a?(Hash) && result.value[:type]
        ddoc = result.value[:type]
        ::CouchbaseOrm::Base.descendants.each do |model|
            if model.design_document == ddoc
                return model.new(result)
            end
        end
    end
    nil
end