1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# frozen_string_literal: true
require "factory_bot_rails/definition_file_paths"
module FactoryBotRails
class Reloader
def initialize(app)
@app = app
@paths = DefinitionFilePaths.new(FactoryBot.definition_file_paths)
end
def run
return unless @paths.any?
register_reloader(build_reloader)
end
private
attr_reader :app
def build_reloader
reloader_class.new(@paths.files, @paths.directories) do
FactoryBot.reload
end
end
def reloader_class
app.config.file_watcher
end
def register_reloader(reloader)
app.reloader.to_prepare do
reloader.execute
end
app.reloaders << reloader
end
end
end
|