Class: Mongoid::Document::OrmAdapter

Inherits:
OrmAdapter::Base show all
Defined in:
lib/orm_adapter/adapters/mongoid.rb

Instance Attribute Summary

Attributes inherited from OrmAdapter::Base

#klass

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from OrmAdapter::Base

inherited, #initialize

Constructor Details

This class inherits a constructor from OrmAdapter::Base

Class Method Details

.except_classesObject

Do not consider these to be part of the class list



11
12
13
# File 'lib/orm_adapter/adapters/mongoid.rb', line 11

def self.except_classes
  @@except_classes ||= []
end

.model_classesObject

Gets a list of the available models for this adapter



16
17
18
# File 'lib/orm_adapter/adapters/mongoid.rb', line 16

def self.model_classes
  ObjectSpace.each_object(Class).to_a.select {|klass| klass.ancestors.include? Mongoid::Document}
end

Instance Method Details

#column_namesObject

get a list of column names for a given class



21
22
23
# File 'lib/orm_adapter/adapters/mongoid.rb', line 21

def column_names
  klass.fields.keys
end

#create!(attributes = {}) ⇒ Object

See Also:

  • OrmAdapter::Base#create!


48
49
50
# File 'lib/orm_adapter/adapters/mongoid.rb', line 48

def create!(attributes = {})
  klass.create!(attributes)
end

#destroy(object) ⇒ Object

See Also:

  • OrmAdapter::Base#destroy


53
54
55
# File 'lib/orm_adapter/adapters/mongoid.rb', line 53

def destroy(object)
  object.destroy if valid_object?(object)
end

#find_all(options = {}) ⇒ Object

See Also:

  • OrmAdapter::Base#find_all


42
43
44
45
# File 'lib/orm_adapter/adapters/mongoid.rb', line 42

def find_all(options = {})
  conditions, order = extract_conditions_and_order!(options)
  klass.where(conditions_to_fields(conditions)).order_by(order)
end

#find_first(options = {}) ⇒ Object

See Also:

  • OrmAdapter::Base#find_first


36
37
38
39
# File 'lib/orm_adapter/adapters/mongoid.rb', line 36

def find_first(options = {})
  conditions, order = extract_conditions_and_order!(options)
  klass.limit(1).where(conditions_to_fields(conditions)).order_by(order).first
end

#get(id) ⇒ Object

See Also:

  • OrmAdapter::Base#get


31
32
33
# File 'lib/orm_adapter/adapters/mongoid.rb', line 31

def get(id)
  klass.where(:_id => wrap_key(id)).first
end

#get!(id) ⇒ Object

See Also:

  • OrmAdapter::Base#get!


26
27
28
# File 'lib/orm_adapter/adapters/mongoid.rb', line 26

def get!(id)
  klass.find(wrap_key(id))
end