Module: CouchbaseOrm

Defined in:
lib/rails/generators/couchbase_orm_generator.rb,
lib/couchbase-orm.rb,
lib/couchbase-orm/base.rb,
lib/couchbase-orm/error.rb,
lib/couchbase-orm/views.rb,
lib/couchbase-orm/version.rb,
lib/couchbase-orm/connection.rb,
lib/couchbase-orm/persistence.rb,
lib/couchbase-orm/associations.rb,
lib/couchbase-orm/id_generator.rb,
lib/couchbase-orm/utilities/enum.rb,
lib/couchbase-orm/utilities/join.rb,
lib/couchbase-orm/utilities/index.rb,
lib/couchbase-orm/utilities/has_many.rb,
lib/couchbase-orm/utilities/ensure_unique.rb,
lib/rails/generators/couchbase_orm/config/config_generator.rb

Overview

:nodoc:

Defined Under Namespace

Modules: Associations, EnsureUnique, Enum, Generators, HasMany, Index, Join, Persistence, Views Classes: Base, Connection, Error, IdGenerator

Constant Summary collapse

VERSION =
'0.0.8'

Class Method Summary collapse

Class Method Details

.try_load(id) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/couchbase-orm.rb', line 11

def self.try_load(id)
    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