Module: Kernel
- Defined in:
- lib/task_tempest/require.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.record_requires! ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/task_tempest/require.rb', line 15 def self.record_requires! if Thread.current[:required_files] == nil Thread.current[:required_files] = [] yield required_files = Thread.current[:required_files] Thread.current[:required_files] = nil required_files else # Reentrant case. yield Thread.current[:required_files] end end |
Instance Method Details
#original_require ⇒ Object
4 |
# File 'lib/task_tempest/require.rb', line 4 alias_method :original_require, :require |
#require(file) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/task_tempest/require.rb', line 6 def require(file) without_ext = file.sub /(\.rb$)|(\.bundle$)/, "" files = %w[.rb .bundle].collect{ |ext| without_ext + ext } already_required = !($".to_set & files.to_set).empty? required_files = Thread.current[:required_files] required_files << file if required_files and not already_required original_require(file) end |