Class: Plus2Seeder::Seeder::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/plus2_seeder/seeder/base.rb

Direct Known Subclasses

Spreadsheet

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.creator_classObject



13
14
15
# File 'lib/plus2_seeder/seeder/base.rb', line 13

def self.creator_class
  @creator_class
end

.creator_class=(class_name) ⇒ Object



18
19
20
# File 'lib/plus2_seeder/seeder/base.rb', line 18

def self.creator_class=(class_name)
  @creator_class ||= class_name
end

.dependencies(dependency_list = nil) ⇒ Object

These seeders will be run before the subclass’s seeder



8
9
10
# File 'lib/plus2_seeder/seeder/base.rb', line 8

def self.dependencies(dependency_list=nil)
  @dependencies ||= dependency_list
end

Instance Method Details

#afterObject



54
55
56
# File 'lib/plus2_seeder/seeder/base.rb', line 54

def after
  #override if you want to do something after seeding
end

#beforeObject



49
50
51
# File 'lib/plus2_seeder/seeder/base.rb', line 49

def before
  #override if you want to do something before seeding
end

#creator_classObject

Determines the model class to use based on the name of the seeder



38
39
40
# File 'lib/plus2_seeder/seeder/base.rb', line 38

def creator_class
  @creator_class ||= (self.class.creator_class || self.class.name.gsub('Seeder', '')).constantize
end

#debug(val) ⇒ Object



64
65
66
# File 'lib/plus2_seeder/seeder/base.rb', line 64

def debug(val)
  ap val if debug?
end

#debug?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/plus2_seeder/seeder/base.rb', line 59

def debug?
  @debug ||= (ENV['DEBUG'] == 'true')
end

#resetObject



43
44
45
46
# File 'lib/plus2_seeder/seeder/base.rb', line 43

def reset
  puts "Clearing #{creator_class.table_name}"
  creator_class.delete_all
end

#run(seeder_name) ⇒ Object



23
24
25
# File 'lib/plus2_seeder/seeder/base.rb', line 23

def run(seeder_name)
  Plus2Seeder::Conductor.run(seeder_name)
end

#run_dependenciesObject



28
29
30
31
32
33
34
# File 'lib/plus2_seeder/seeder/base.rb', line 28

def run_dependencies
  if self.class.dependencies.try(:any?)
    self.class.dependencies.each do |seeder_name|
      run(seeder_name)
    end
  end
end