Module: MongoidSeeder

Defined in:
lib/mongoid_seeder.rb,
lib/mongoid_seeder/config.rb,
lib/mongoid_seeder/version.rb

Defined Under Namespace

Classes: Config

Constant Summary collapse

VERSION =
"0.0.4"

Class Method Summary collapse

Class Method Details

.after_eachObject



17
18
19
20
# File 'lib/mongoid_seeder.rb', line 17

def self.after_each
  Config.after_each.call
  after_tests
end

.after_suiteObject



22
23
24
25
# File 'lib/mongoid_seeder.rb', line 22

def self.after_suite
  Config.after_suite.call
  drop
end

.after_testsObject



49
50
51
# File 'lib/mongoid_seeder.rb', line 49

def self.after_tests
  Mongoid.session(:default).collections.select{|a| Config.condition_to_drop_collection.call(a) }.each{|a| a.where.remove_all }
end

.before_eachObject



13
14
15
# File 'lib/mongoid_seeder.rb', line 13

def self.before_each
  Config.before_each.call
end

.before_suiteObject



8
9
10
11
# File 'lib/mongoid_seeder.rb', line 8

def self.before_suite
  Config.before_suite.call
  seed
end

.db_pathObject



36
37
38
# File 'lib/mongoid_seeder.rb', line 36

def self.db_path
  Config.seed_dir
end

.dropObject



45
46
47
# File 'lib/mongoid_seeder.rb', line 45

def self.drop
  Mongoid.session(:default).drop
end

.dumpObject



40
41
42
43
# File 'lib/mongoid_seeder.rb', line 40

def self.dump
  mongodump = Mongoid::Shell::Commands::Mongodump.new( out: db_path)
  system mongodump.to_s
end

.seedObject



27
28
29
30
31
32
33
34
# File 'lib/mongoid_seeder.rb', line 27

def self.seed
  options = {
    db: Mongoid.session(:default).options[:database],
    restore: db_path
  }
  mongorestore = Mongoid::Shell::Commands::Mongorestore.new(options)
  system mongorestore.to_s
end