Class: FactorySeeder::CustomSeedLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/factory_seeder/custom_seed_loader.rb

Class Method Summary collapse

Class Method Details

.reload!Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/factory_seeder/custom_seed_loader.rb', line 8

def reload!
  return unless seed_files.any?

  FactorySeeder.seed_manager.clear
  seed_files.each do |file|
    load file
  rescue StandardError => e
    warn "⚠️  Could not load custom seed #{file}: #{e.message}"
  end
end

.seed_filesObject



19
20
21
22
23
# File 'lib/factory_seeder/custom_seed_loader.rb', line 19

def seed_files
  return [] unless seeds_directory

  Dir.glob(seeds_directory.join('**/*.rb'))
end

.seeds_directoryObject



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/factory_seeder/custom_seed_loader.rb', line 25

def seeds_directory
  base_path = if defined?(Rails) && Rails.respond_to?(:root)
                Rails.root
              else
                Pathname.new(Dir.pwd)
              end

  path = base_path.join('db', 'factory_seeds')
  return path if path.exist?

  nil
end