Module: Mongoid::Document::PickleAdapter

Includes:
Pickle::Adapter::Base
Defined in:
lib/pickle/adapters/mongoid.rb

Class Method Summary collapse

Methods included from Pickle::Adapter::Base

adapters, included

Class Method Details

.column_names(klass) ⇒ Object

get a list of column names for a given class



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

def self.column_names(klass)
  klass.try(:fields).try(:keys) || []
end

.create_model(klass, attributes) ⇒ Object

Create a model with given attributes



49
50
51
# File 'lib/pickle/adapters/mongoid.rb', line 49

def self.create_model(klass, attributes)
  klass.create!(attributes)
end

.except_classesObject

Do not consider these to be part of the class list



9
10
11
# File 'lib/pickle/adapters/mongoid.rb', line 9

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

.find_all_models(klass, conditions) ⇒ Object

Find all models matching conditions



40
41
42
43
44
45
46
# File 'lib/pickle/adapters/mongoid.rb', line 40

def self.find_all_models(klass, conditions)
  if defined? ::Mongoid::Criteria
    klass.where(conditions).to_a
  else
    klass.all(:conditions => conditions)
  end
end

.find_first_model(klass, conditions) ⇒ Object

Find the first instance matching conditions



31
32
33
34
35
36
37
# File 'lib/pickle/adapters/mongoid.rb', line 31

def self.find_first_model(klass, conditions)
  if defined? ::Mongoid::Criteria
    klass.where(conditions).first
  else
    klass.first(:conditions => conditions)
  end
end

.get_model(klass, id) ⇒ Object

Get an instance by id of the model



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

def self.get_model(klass, id)
  klass.find(id)
end

.model_classesObject

Gets a list of the available models for this adapter



14
15
16
17
18
# File 'lib/pickle/adapters/mongoid.rb', line 14

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