module CouchbaseOrm::Persistence::ClassMethods

Public Instance Methods

create(attributes = nil, &block) click to toggle source
# File lib/couchbase-orm/persistence.rb, line 12
def create(attributes = nil, &block)
    if attributes.is_a?(Array)
        attributes.collect { |attr| create(attr, &block) }
    else
        instance = new(attributes, &block)
        instance.save
        instance
    end
end
create!(attributes = nil, &block) click to toggle source
# File lib/couchbase-orm/persistence.rb, line 22
def create!(attributes = nil, &block)
    if attributes.is_a?(Array)
        attributes.collect { |attr| create!(attr, &block) }
    else
        instance = new(attributes, &block)
        instance.save!
        instance
    end
end
design_document(name = nil) click to toggle source

Allow classes to overwrite the default document name extend ActiveModel::Naming (included by ActiveModel::Model)

# File lib/couchbase-orm/persistence.rb, line 39
def design_document(name = nil)
    return @design_document unless name
    @design_document = name.to_s
end
fail_validate!(document) click to toggle source

Raise an error if validation failed.

# File lib/couchbase-orm/persistence.rb, line 33
def fail_validate!(document)
    raise Error::RecordInvalid.new("Failed to save the record", document)
end
inherited(child) click to toggle source

Set a default design document

Calls superclass method
# File lib/couchbase-orm/persistence.rb, line 45
def inherited(child)
    super
    child.instance_eval do
        @design_document = child.name.underscore
    end
end