Module: Mongoid::Document::PickleAdapter
- Includes:
- Pickle::Adapter::Base
- Defined in:
- lib/pickle/adapters/mongoid.rb
Class Method Summary collapse
-
.column_names(klass) ⇒ Object
get a list of column names for a given class.
-
.create_model(klass, attributes) ⇒ Object
Create a model with given attributes.
-
.except_classes ⇒ Object
Do not consider these to be part of the class list.
-
.find_all_models(klass, conditions) ⇒ Object
Find all models matching conditions.
-
.find_first_model(klass, conditions) ⇒ Object
Find the first instance matching conditions.
-
.get_model(klass, id) ⇒ Object
Get an instance by id of the model.
-
.model_classes ⇒ Object
Gets a list of the available models for this adapter.
Methods included from Pickle::Adapter::Base
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_classes ⇒ Object
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_classes ⇒ Object
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 |