Sha256: 81e498cff4e6468e30f90eb85f0053c76938de5b0dfa383592511074dc5318b9
Contents?: true
Size: 915 Bytes
Versions: 4
Compression:
Stored size: 915 Bytes
Contents
module DatabaseCleaner class ORMAutodetector ORMS = { active_record: "ActiveRecord", data_mapper: "DataMapper", mongo_mapper: "MongoMapper", mongoid: "Mongoid", couch_potato: "CouchPotato", sequel: "Sequel", moped: "Moped", ohm: "Ohm", redis: "Redis", neo4j: "Neo4j", } def orm @autodetected = true autodetected_orm or raise no_orm_detected_error ORMS.key(autodetected_orm.to_s) end def autodetected? !!@autodetected end private def autodetected_orm ORMS.values.find do |orm| Kernel.const_get(orm) rescue next end end def no_orm_detected_error orm_list = ORMS.values.join(", ").sub(ORMS.values.last, "or #{ORMS.values.last}") NoORMDetected.new("No known ORM was detected! Is #{orm_list} loaded?") end end private_constant :ORMAutodetector end
Version data entries
4 entries across 4 versions & 1 rubygems