Module: CouchbaseOrm::Persistence::ClassMethods

Defined in:
lib/couchbase-orm/persistence.rb

Instance Method Summary collapse

Instance Method Details

#create(attributes = nil, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/couchbase-orm/persistence.rb', line 18

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) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/couchbase-orm/persistence.rb', line 28

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) ⇒ Object

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



45
46
47
48
49
# File 'lib/couchbase-orm/persistence.rb', line 45

def design_document(name = nil)
  return @design_document unless name

  @design_document = name.to_s
end

#fail_validate!(document) ⇒ Object

Raise an error if validation failed.



39
40
41
# File 'lib/couchbase-orm/persistence.rb', line 39

def fail_validate!(document)
  raise Error::RecordInvalid.new(document)
end

#inherited(child) ⇒ Object

Set a default design document



52
53
54
55
56
57
# File 'lib/couchbase-orm/persistence.rb', line 52

def inherited(child)
  super
  child.instance_eval do
    @design_document = child.name.underscore
  end
end