method
require_or_load
Ruby on Rails latest stable (v7.1.3.2)
-
0 notes -
Class: Dependencies
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0 (0)
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
require_or_load(file_name, const_path = nil)
public
Hide source
# File activesupport/lib/active_support/dependencies.rb, line 75 def require_or_load(file_name, const_path = nil) log_call file_name, const_path file_name = $1 if file_name =~ /^(.*)\.rb$/ expanded = File.expand_path(file_name) return if loaded.include?(expanded) # Record that we've seen this file *before* loading it to avoid an # infinite loop with mutual dependencies. loaded << expanded begin if load? log "loading #{file_name}" # Enable warnings iff this file has not been loaded before and # warnings_on_first_load is set. load_args = ["#{file_name}.rb"] load_args << const_path unless const_path.nil? if !warnings_on_first_load or history.include?(expanded) result = load_file(*load_args) else enable_warnings { result = load_file(*load_args) } end else log "requiring #{file_name}" result = require file_name end rescue Exception loaded.delete expanded raise end # Record history *after* loading so first load gets warnings. history << expanded return result end