Module: RSpec::Core::RubyProject Private
Do not use. This module is for internal use only.
Relationships & Source Files | |
Defined in: | rspec-core/lib/rspec/core/ruby_project.rb |
Class Method Summary
- .add_dir_to_load_path(dir) Internal use only mod_func
- .add_to_load_path(*dirs) Internal use only mod_func
- .ascend_until Internal use only mod_func
- .determine_root Internal use only mod_func
- .find_first_parent_containing(dir) Internal use only mod_func
- .root Internal use only mod_func
Class Method Details
.add_dir_to_load_path(dir) (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 12
def add_dir_to_load_path(dir) $LOAD_PATH.unshift(dir) unless $LOAD_PATH.include?(dir) end
.add_to_load_path(*dirs) (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 8
def add_to_load_path(*dirs) dirs.each { |dir| add_dir_to_load_path(File.join(root, dir)) } end
.ascend_until (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 28
def ascend_until fs = File::SEPARATOR escaped_slash = "\\#{fs}" special = "_RSPEC_ESCAPED_SLASH_" project_path = File. (".") parts = project_path.gsub(escaped_slash, special).squeeze(fs).split(fs).map do |x| x.gsub(special, escaped_slash) end until parts.empty? path = parts.join(fs) path = fs if path == "" return path if yield(path) parts.pop end end
.determine_root (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 20
def determine_root find_first_parent_containing('spec') || '.' end
.find_first_parent_containing(dir) (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 24
def find_first_parent_containing(dir) ascend_until { |path| File.exist?(File.join(path, dir)) } end
.root (mod_func)
[ GitHub ]# File 'rspec-core/lib/rspec/core/ruby_project.rb', line 16
def root @project_root ||= determine_root end