Class: Lolita::Adapter::Mongoid
- Includes:
- AbstractAdapter
- Defined in:
- lib/lolita/adapter/mongoid.rb
Instance Attribute Summary collapse
-
#dbi ⇒ Object
readonly
Returns the value of attribute dbi.
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
Instance Method Summary collapse
- #association_class_name(association) ⇒ Object
- #association_macro(association) ⇒ Object
- #associations ⇒ Object
- #associations_class_names ⇒ Object
- #collection ⇒ Object
- #collection_name ⇒ Object
- #collection_names ⇒ Object
- #collections ⇒ Object
- #db ⇒ Object
- #db_name ⇒ Object
- #fields ⇒ Object
- #find(*args) ⇒ Object
- #find_by_id(id) ⇒ Object
-
#initialize(dbi) ⇒ Mongoid
constructor
A new instance of Mongoid.
- #paginate(options = {}) ⇒ Object
- #reflect_on_association(name) ⇒ Object
Constructor Details
#initialize(dbi) ⇒ Mongoid
Returns a new instance of Mongoid.
7 8 9 10 |
# File 'lib/lolita/adapter/mongoid.rb', line 7 def initialize(dbi) @dbi=dbi @klass=dbi.klass end |
Instance Attribute Details
#dbi ⇒ Object (readonly)
Returns the value of attribute dbi.
6 7 8 |
# File 'lib/lolita/adapter/mongoid.rb', line 6 def dbi @dbi end |
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
6 7 8 |
# File 'lib/lolita/adapter/mongoid.rb', line 6 def klass @klass end |
Instance Method Details
#association_class_name(association) ⇒ Object
44 45 46 |
# File 'lib/lolita/adapter/mongoid.rb', line 44 def association_class_name(association) association.class_name end |
#association_macro(association) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/lolita/adapter/mongoid.rb', line 28 def association_macro(association) macro=association.macro case macro when :references_many :many when :referenced_in :one when :embeds_one :one when :embeds_many :many when :references_one :one end end |
#associations ⇒ Object
12 13 14 |
# File 'lib/lolita/adapter/mongoid.rb', line 12 def associations klass.relations end |
#associations_class_names ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/lolita/adapter/mongoid.rb', line 16 def associations_class_names names=[] associations.each{|name,association| names<<association.class_name } names end |
#collection ⇒ Object
75 76 77 |
# File 'lib/lolita/adapter/mongoid.rb', line 75 def collection self.klass.collection end |
#collection_name ⇒ Object
79 80 81 |
# File 'lib/lolita/adapter/mongoid.rb', line 79 def collection_name collection.name end |
#collection_names ⇒ Object
87 88 89 |
# File 'lib/lolita/adapter/mongoid.rb', line 87 def collection_names db.collection_names end |
#collections ⇒ Object
83 84 85 |
# File 'lib/lolita/adapter/mongoid.rb', line 83 def collections db.collections end |
#db ⇒ Object
67 68 69 |
# File 'lib/lolita/adapter/mongoid.rb', line 67 def db self.klass.db end |
#db_name ⇒ Object
71 72 73 |
# File 'lib/lolita/adapter/mongoid.rb', line 71 def db_name self.klass.db.name end |
#fields ⇒ Object
48 49 50 51 52 53 |
# File 'lib/lolita/adapter/mongoid.rb', line 48 def fields @fields||=self.klass.fields.collect{|name,field| name[0] == '_' ? nil : field_to_hash(name,field) }.compact @fields end |
#find(*args) ⇒ Object
59 60 61 |
# File 'lib/lolita/adapter/mongoid.rb', line 59 def find *args self.klass.find(*args) end |
#find_by_id(id) ⇒ Object
55 56 57 |
# File 'lib/lolita/adapter/mongoid.rb', line 55 def find_by_id(id) self.klass.where(:_id=>id).first end |
#paginate(options = {}) ⇒ Object
63 64 65 |
# File 'lib/lolita/adapter/mongoid.rb', line 63 def paginate(={}) self.klass.paginate() end |
#reflect_on_association(name) ⇒ Object
24 25 26 |
# File 'lib/lolita/adapter/mongoid.rb', line 24 def reflect_on_association(name) klass.reflect_on_association(name) end |