Module: Aerogel::Db

Defined in:
lib/aerogel/core/db.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.environmentObject

List of registered models



10
11
12
# File 'lib/aerogel/core/db.rb', line 10

def environment
  @environment
end

.modelsObject

List of registered models



10
11
12
# File 'lib/aerogel/core/db.rb', line 10

def models
  @models
end

Class Method Details

.clear!Object

Clears database.



43
44
45
46
47
48
49
50
51
# File 'lib/aerogel/core/db.rb', line 43

def self.clear!
  puts "* clearing database"
  models.each do |model_class|
    puts "** destroing all objects in #{model_class.name}"
    model_class.destroy_all
  end
  puts "* purging database"
  Mongoid.purge!
end

.migrate!Object

Perform database migration



37
38
39
# File 'lib/aerogel/core/db.rb', line 37

def self.migrate!
  create_indexes!
end

.registered(app) ⇒ Object

Registers and configures database access



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/aerogel/core/db.rb', line 15

def self.registered( app )
  self.environment = app.environment
  raise "Database connection is not configured in your application's config/*" if Aerogel.config.db.nil?
  Mongoid.configure do |config|
    config.sessions = {
      default: { hosts: Aerogel.config.db.hosts, database: Aerogel.config.db.name }
    }
    config.options = {
      raise_not_found_error: false
    }
  end
  load_models

  # register reloader
  setup_reloader(app) if Aerogel.config.aerogel.reloader

  # disable [deprecated] warning in Mongoid method calls
  I18n.enforce_available_locales = false if defined? I18n
end

.seed!Object

Seeds database.



55
56
57
# File 'lib/aerogel/core/db.rb', line 55

def self.seed!
  load_and_process_seeds!
end