Class: FReCon::Database

Inherits:
Object show all
Defined in:
lib/frecon/database.rb

Overview

Public: A system to set up the database.

Class Method Summary collapse

Class Method Details

.setup(environment = FReCon.environment, mongoid = nil) ⇒ Object

Public: Set up the database.

environment - Symbol containing environment to start the database in. mongoid - Hash containing the configuration for Mongoid. If not

present, the lib/frecon/mongoid.yml file is given to
Mongoid.load!.  If present, the Hash is dumped to a
tempfile which is given to Mongoid.load!.


30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/frecon/database.rb', line 30

def self.setup(environment = FReCon.environment, mongoid = nil)
  if mongoid.is_a?(Hash)
    mongoid_tempfile = Tempfile.new("FReCon")

    mongoid_tempfile.write(mongoid.to_h.to_yaml)
    mongoid_tempfile.rewind

    Mongoid.load!(mongoid_tempfile.path, environment)
  else
    Mongoid.load!(File.join(File.dirname(__FILE__), "mongoid.yml"), environment)
  end

  if environment == :development
    Mongoid.logger.level = Logger::DEBUG
    Mongoid.logger = Logger.new($stdout)

    Moped.logger.level = Logger::DEBUG
    Moped.logger = Logger.new($stdout)
  end
end