config/assembly.rb in alki-reload-0.1.0 vs config/assembly.rb in alki-reload-0.2.0

- old
+ new

@@ -1,12 +1,20 @@ Alki do func :reload do root.assembly_instance.__reload__ end - set :watch, false + set :enable, false + set :main_loops do + enable + end + + set :watch do + enable + end + set :dirs do ['lib'] end set :whitelist do @@ -17,16 +25,29 @@ handlers.inject([]) do |dirs,h| dirs.push *h.dirs end end + reference_overlay '%main_loop', :reloadable_reference + + factory :reloadable_reference do + require 'alki/reload/reloadable_delegator' + -> (ref) { + if main_loops + Alki::Reload::ReloadableDelegator.new(root.assembly_instance,ref) + else + ref.call + end + } + end + service :handlers do - [dsl_handler,load_path_handler] + [loader_handler,load_path_handler] end - service :dsl_handler do - require 'alki/reload/dsl_handler' - Alki::Reload::DslHandler.new root_dir + service :loader_handler do + require 'alki/reload/loader_handler' + Alki::Reload::LoaderHandler.new root_dir end service :load_path_handler do require 'alki/reload/load_path_handler' Alki::Reload::LoadPathHandler.new root_dir, dirs