Class/Module Index [+]

Quicksearch

Merb::BootLoader::ReloadClasses

Public Class Methods

build_paths() click to toggle source

Returns a list of the paths on the merb application stack

Returns

nil

:api: private

# File lib/merb-core/bootloader.rb, line 1436
def self.build_paths
  paths = []
  Merb.load_paths.each do |path_name, file_info|
    path, glob = file_info
    next unless glob
    paths << Dir[path / glob]
  end

  if Merb.dir_for(:application) && File.file?(Merb.dir_for(:application))
    paths << Merb.dir_for(:application)
  end

  paths.flatten!

  return paths
end
reload(paths = []) click to toggle source

Reloads all files which have been modified since they were last loaded.

Returns

nil

:api: private

# File lib/merb-core/bootloader.rb, line 1419
def self.reload(paths = [])
  paths.each do |file|
    next if LoadClasses::MTIMES[file] &&
      LoadClasses::MTIMES[file] == File.mtime(file)

    LoadClasses.reload(file)
  end

  nil
end
reload!() click to toggle source

Reloads all the files on the Merb application path

Returns

nil

:api: private

# File lib/merb-core/bootloader.rb, line 1409
def self.reload!
  reload(build_paths)
end
run() click to toggle source

Set up the class reloader if class reloading is enabled. This checks periodically for modifications to files loaded by the LoadClasses BootLoader and reloads them when they are modified.

Returns

nil

:api: plugin

# File lib/merb-core/bootloader.rb, line 1392
def self.run
  return unless Merb::Config[:reload_classes]

  TimedExecutor.every(Merb::Config[:reload_time] || 0.5) do
    GC.start
    reload!
  end

  nil
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.