Class: Plus2Seeder::Conductor
- Inherits:
-
Object
- Object
- Plus2Seeder::Conductor
- Defined in:
- lib/plus2_seeder/conductor.rb
Class Method Summary collapse
- .all_seeders ⇒ Object
- .record(seeder_name) ⇒ Object
- .reset? ⇒ Boolean
-
.run(seeder_name) ⇒ Object
Runs a named seeder.
- .seeders ⇒ Object
- .seeders=(val) ⇒ Object
Instance Method Summary collapse
-
#seed ⇒ Object
Will run all seeders.
Class Method Details
.all_seeders ⇒ Object
17 18 19 |
# File 'lib/plus2_seeder/conductor.rb', line 17 def self.all_seeders @seeders.values.flatten.uniq end |
.record(seeder_name) ⇒ Object
22 23 24 |
# File 'lib/plus2_seeder/conductor.rb', line 22 def self.record(seeder_name) @recorded << seeder_name end |
.reset? ⇒ Boolean
57 58 59 |
# File 'lib/plus2_seeder/conductor.rb', line 57 def self.reset? @reset ||= (ENV['RESET'] == 'true') end |
.run(seeder_name) ⇒ Object
Runs a named seeder
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/plus2_seeder/conductor.rb', line 28 def self.run(seeder_name) return if @recorded.include? seeder_name klass = "#{seeder_name}_seeder".classify.constantize seeder = klass.new seeder.run_dependencies seeder.reset if reset? # Call the seeder's reset method if called with RESET=true seeder.before puts "Seeding #{seeder_name.pluralize}" seeder.seed record seeder_name seeder.after end |
.seeders ⇒ Object
13 14 15 |
# File 'lib/plus2_seeder/conductor.rb', line 13 def self.seeders @seeders end |
.seeders=(val) ⇒ Object
9 10 11 |
# File 'lib/plus2_seeder/conductor.rb', line 9 def self.seeders=(val) @seeders = val end |
Instance Method Details
#seed ⇒ Object
Will run all seeders
50 51 52 53 54 |
# File 'lib/plus2_seeder/conductor.rb', line 50 def seed self.class.seeders[Rails.env].each do |seeder| self.class.run(seeder) end end |