Sha256: 978b9f0de1b0cac390989cfedc1de9e41e307dd745a42a82152b2768c6ba1243

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

namespace :db do
  
  include Seedbank::DSL
  
  base_dependencies = ['db:seed:original']   
    
  # Create seed tasks for all the seeds in seeds_path and add them to the dependency 
  # list along with the original db/seeds.rb.
  Dir.glob(File.join(seeds_root, '*.seeds.rb')).each do |seed_file|
    base_dependencies << define_seed_task(seed_file)
  end

  # Change db:seed task to run all the base seeds tasks defined above.
  desc <<-EOT
    Loads the original seeds in db/seeds.rb followed by db/seeds/*.seeds.rb then
    db/seeds/environment/*.seeds.rb
  EOT
  override_task :seed => base_dependencies + ["db:seed:#{Rails.env}"]
  
  # Glob through the directories under seeds_path assuming they are all environments
  # and create a task for each and add it to the dependency list. Then create a task
  # for the environment
  Dir[seeds_root + '/*/'].each do |e|
    environment = File.basename(e)
     
    environment_dependencies = []
    Dir.glob(File.join(seeds_root, environment, '*.seeds.rb')).each do |seed_file|
      environment_dependencies << define_seed_task(seed_file)
    end
  
    desc "Loads db/seeds.rb, db/seeds/*.seeds.rb and any seeds in db/seeds/#{environment}/*.seeds.rb."
    task ['seed', environment] => base_dependencies + environment_dependencies
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
seedbank-0.0.3 lib/tasks/seed.rake
seedbank-0.0.2 lib/tasks/seed.rake