class ActiveSupport::Reloader
Public Class Methods
# File activesupport/lib/active_support/reloader.rb, line 42 def self.after_class_unload(*args, &block) set_callback(:class_unload, :after, *args, &block) end
Registers a callback that will run immediately after the classes are unloaded.
# File activesupport/lib/active_support/reloader.rb, line 37 def self.before_class_unload(*args, &block) set_callback(:class_unload, *args, &block) end
Registers a callback that will run immediately before the classes are unloaded.
# File activesupport/lib/active_support/reloader.rb, line 92 def initialize super @locked = false end
 Calls superclass method 
  # File activesupport/lib/active_support/reloader.rb, line 49
def self.reload!
  executor.wrap do
    new.tap do |instance|
      begin
        instance.run!
      ensure
        instance.complete!
      end
    end
  end
  prepare!
end Initiate a manual reload
# File activesupport/lib/active_support/reloader.rb, line 32 def self.to_prepare(*args, &block) set_callback(:prepare, *args, &block) end
Registers a callback that will run once at application startup and every time the code is reloaded.
# File activesupport/lib/active_support/reloader.rb, line 71
def self.wrap
  executor.wrap do
    super
  end
end Run the supplied block as a work unit, reloading code as needed
 Calls superclass method ActiveSupport::ExecutionWrapper.wrap 
  Public Instance Methods
# File activesupport/lib/active_support/reloader.rb, line 107
def release_unload_lock!
  if @locked
    @locked = false
    ActiveSupport::Dependencies.interlock.done_unloading
  end
end Release the unload lock if it has been previously obtained
# File activesupport/lib/active_support/reloader.rb, line 99
def require_unload_lock!
  unless @locked
    ActiveSupport::Dependencies.interlock.start_unloading
    @locked = true
  end
end Acquire the ActiveSupport::Dependencies::Interlock unload lock, ensuring it will be released automatically
    © 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.