Sha256: fa79caa890a7806aad7e2a6284e7ec1db62d723e73ada8d8fc04e78c94f7f8c3
Contents?: true
Size: 1.9 KB
Versions: 2
Compression:
Stored size: 1.9 KB
Contents
module Lolita module Adapter class Mongoid include Lolita::Adapter::AbstractAdapter attr_reader :dbi, :klass def initialize(dbi) @dbi=dbi @klass=dbi.klass end def associations klass.relations end def associations_class_names names=[] associations.each{|name,association| names<<association.class_name } names end def reflect_on_association(name) klass.reflect_on_association(name) end 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 def association_class_name(association) association.class_name end def fields @fields||=self.klass.fields.collect{|name,field| field_to_hash(name,field) } @fields end def find_by_id(id) self.klass.where(:_id=>id).first end def find *args self.klass.find(*args) end def paginate(options={}) self.klass.paginate(options) end def db self.klass.db end def db_name self.klass.db.name end def collection self.klass.collection end def collection_name collection.name end def collections db.collections end def collection_names db.collection_names end private def field_to_hash(name,field) { :name=>name, :type=>field.type.to_s, :title=>name.to_s.humanize, :options=>field.options.merge({ :primary=>name.to_s=="_id" }) } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lolita-3.0.7 | lib/lolita/adapter/mongoid.rb |
lolita-3.0.6 | lib/lolita/adapter/mongoid.rb |