class Lolita::Adapter::Mongoid

Attributes

dbi[R]
klass[R]

Public Class Methods

new(dbi) click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 8
def initialize(dbi)
  @dbi=dbi
  @klass=dbi.klass
end

Public Instance Methods

associations() click to toggle source

Return all class associations

# File lib/lolita/adapter/mongoid.rb, line 53
def associations
  # is caching ok?
  unless @associations
    @associations = {}
    klass.relations.each{|name,association|
      @associations[name.to_s] = Association.new(association,self)
    }
  end
  @associations
end
collection() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 215
def collection
  self.klass.collection
end
collection_name() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 219
def collection_name
  self.klass.collection_name
end
collection_name=(value) click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 223
def collection_name=(value)
  self.klass.collection_name = value
end
collection_names() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 231
def collection_names
  db.collection_names
end
collections() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 227
def collections
  db.collections
end
db() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 207
def db
  self.klass.db
end
db_name() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 211
def db_name
  self.klass.db.name
end
field_by_association(name) click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 136
def field_by_association(name)
  possible_association = self.associations.detect{|assoc_name,association|
    name.to_s == assoc_name.to_s
  }
  if possible_association
    self.field_by_name(possible_association.last.key)
  end
end
field_by_name(name) click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 130
def field_by_name(name)
  self.fields.detect{|field|
    field.name.to_s == name.to_s
  }
end
fields() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 123
def fields
  @fields||=self.klass.fields.collect{|name,field|
    Field.new(field,self)
  }
  @fields
end
nested_attributes_options() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 235
def nested_attributes_options
  self.klass.relations
end
order_method() click to toggle source
# File lib/lolita/adapter/mongoid.rb, line 239
def order_method
  :order_by
end