From 03fc4c8e05f98a2d8fdcdf04577acf257093a36e Mon Sep 17 00:00:00 2001 From: Mark Perkins Date: Wed, 23 Oct 2024 18:56:26 +0100 Subject: [PATCH] Small refactor of prevew and pages lazy loading --- lib/lookbook/engine.rb | 20 ++++++++++---------- lib/lookbook/reloaders.rb | 6 ++++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/lookbook/engine.rb b/lib/lookbook/engine.rb index 9ca3dd43..ec6e270a 100644 --- a/lib/lookbook/engine.rb +++ b/lib/lookbook/engine.rb @@ -68,12 +68,12 @@ class Engine < Rails::Engine end config.after_initialize do - unless opts.lazy_load_previews_and_pages - if Engine.reloading? - reloaders.add(:previews, Engine.preview_watch_paths, opts.listen_extensions, &Engine.method(:load_previews)) - reloaders.add(:pages, Engine.page_watch_paths, opts.page_extensions, &Engine.method(:load_pages)) - reloaders.execute - else + if Engine.reloading? + reloaders.add(:previews, Engine.preview_watch_paths, opts.listen_extensions, &Engine.method(:load_previews)) + reloaders.add(:pages, Engine.page_watch_paths, opts.page_extensions, &Engine.method(:load_pages)) + reloaders.execute unless opts.lazy_load_previews_and_pages + else + unless opts.lazy_load_previews_and_pages Engine.load_previews Engine.load_pages end @@ -203,8 +203,7 @@ def pages @_loaded_pages = true if reloading? - reloader = reloaders.add(:pages, Engine.page_watch_paths, opts.page_extensions, &Engine.method(:load_pages)) - reloader.execute + reloaders.execute(:pages) else load_pages end @@ -220,8 +219,7 @@ def previews @_loaded_previews = true if reloading? - reloader = reloaders.add(:previews, Engine.preview_watch_paths, opts.listen_extensions, &Engine.method(:load_previews)) - reloader.execute + reloaders.execute(:previews) else load_previews end @@ -236,6 +234,7 @@ def preview_controller end def load_previews(changes = nil) + puts "----------------------------- LOADING PREVIEWS" changed_files = [*changes[:added], *changes[:modified]] if changes parser.parse(changed_files) do |code_objects| previews.load(code_objects.all(:class), changes) @@ -246,6 +245,7 @@ def load_previews(changes = nil) end def load_pages(changes = nil) + puts "----------------------------- LOADING PAGES" pages.load(Engine.page_paths, changes) rescue => e Lookbook.logger.error(e) diff --git a/lib/lookbook/reloaders.rb b/lib/lookbook/reloaders.rb index a3bf4f7f..ef0cdb86 100644 --- a/lib/lookbook/reloaders.rb +++ b/lib/lookbook/reloaders.rb @@ -20,8 +20,10 @@ def add(name, directories, extensions, &callback) reloader end - def execute - reloaders.each { |reloader| reloader.execute } + def execute(name = nil) + reloaders.each do |reloader| + reloader.execute if name.nil? || name == reloader.name + end end def register_changes(changes)