Module: AmbitiousSeeder::Seeder

Defined in:
lib/ambitious_seeder.rb

Class Method Summary collapse

Class Method Details

.down(seed) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/ambitious_seeder.rb', line 36

def self.down(seed)
  self.initialize_schema_seeds_table

  return unless seed_already_up?(seed)

  begin
    seed.send(:down)
  rescue AmbitiousSeeder::NoSeedDownError
    abort "No downwards method for #{seed}!"
  end

  expunge_seed(seed)
end

.up(seeds) ⇒ Object



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

def self.up(seeds)
  self.initialize_schema_seeds_table
        
  if seeds.kind_of?(Array)
    seeds.each { |seed| self.up(seed) }
    return
  end

  seed = seeds

  return if seed_already_up?(seed)

  begin
    seed.send(:up)
  rescue AmbitiousSeeder::NoSeedUpError
    abort "No upwards method for #{seed}!"
  end

  record_seed(seed)
end