Class Merb::Slices::DynamicLoader
In: merb-slices/lib/merb-slices/module.rb
Parent: Object

Methods

every   start   stop  

Public Class methods

[Source]

     # File merb-slices/lib/merb-slices/module.rb, line 320
320:       def self.start(interval = nil)
321:         self.lookup ||= Set.new(Merb::Slices.slice_files_from_search_path)
322:         @thread = self.every(interval || Merb::Plugins.config[:merb_slices][:autoload_interval] || 1.0) do
323:           current_files = Set.new(Merb::Slices.slice_files_from_search_path)
324:           (current_files - self.lookup).each { |f| Merb::Slices.activate_by_file(f) }
325:           (self.lookup - current_files).each { |f| Merb::Slices.deactivate_by_file(f) }
326:           self.lookup = current_files
327:         end
328:       end

[Source]

     # File merb-slices/lib/merb-slices/module.rb, line 330
330:       def self.stop
331:         @thread.exit if @thread.is_a?(Thread)
332:       end

Private Class methods

[Source]

     # File merb-slices/lib/merb-slices/module.rb, line 336
336:       def self.every(seconds, &block)
337:         Thread.new do
338:           loop do
339:             sleep(seconds)
340:             block.call
341:           end
342:           Thread.exit
343:         end
344:       end

[Validate]