class FactoryBotRails::Reloader

Attributes

app[R]

Public Class Methods

new(app) click to toggle source
# File lib/factory_bot_rails/reloader.rb, line 7
def initialize(app)
  @app = app
  @paths = DefinitionFilePaths.new(FactoryBot.definition_file_paths)
end

Public Instance Methods

run() click to toggle source
# File lib/factory_bot_rails/reloader.rb, line 12
def run
  return unless @paths.any?

  register_reloader(build_reloader)
end

Private Instance Methods

build_reloader() click to toggle source
# File lib/factory_bot_rails/reloader.rb, line 22
def build_reloader
  reloader_class.new(@paths.files, @paths.directories) do
    FactoryBot.reload
  end
end
register_reloader(reloader) click to toggle source
# File lib/factory_bot_rails/reloader.rb, line 32
def register_reloader(reloader)
  app.reloader.to_prepare do
    reloader.execute
  end

  app.reloaders << reloader
end
reloader_class() click to toggle source
# File lib/factory_bot_rails/reloader.rb, line 28
def reloader_class
  app.config.file_watcher
end