Methods
- <<
- children
- concat
- each
- existent
- existent_directories
- expanded
- first
- last
- new
- paths
- push
- to_a
- to_ary
- unshift
Included Modules
Attributes
[RW] | glob |
Class Public methods
new(root, current, paths, options = {})
📝 Source code
# File railties/lib/rails/paths.rb, line 119
def initialize(root, current, paths, options = {})
@paths = paths
@current = current
@root = root
@glob = options[:glob]
@exclude = options[:exclude]
options[:autoload_once] ? autoload_once! : skip_autoload_once!
options[:eager_load] ? eager_load! : skip_eager_load!
options[:autoload] ? autoload! : skip_autoload!
options[:load_path] ? load_path! : skip_load_path!
end
🔎 See on GitHub
Instance Public methods
<<(path)
Also aliased as: push
📝 Source code
# File railties/lib/rails/paths.rb, line 171
def <<(path)
@paths << path
end
🔎 See on GitHub
children()
📝 Source code
# File railties/lib/rails/paths.rb, line 136
def children
keys = @root.keys.find_all { |k|
k.start_with?(@current) && k != @current
}
@root.values_at(*keys.sort)
end
🔎 See on GitHub
concat(paths)
📝 Source code
# File railties/lib/rails/paths.rb, line 176
def concat(paths)
@paths.concat paths
end
🔎 See on GitHub
each(&block)
📝 Source code
# File railties/lib/rails/paths.rb, line 167
def each(&block)
@paths.each(&block)
end
🔎 See on GitHub
existent()
Returns all expanded paths but only if they exist in the filesystem.
📝 Source code
# File railties/lib/rails/paths.rb, line 220
def existent
expanded.select do |f|
does_exist = File.exist?(f)
if !does_exist && File.symlink?(f)
raise "File #{f.inspect} is a symlink that does not point to a valid file"
end
does_exist
end
end
🔎 See on GitHub
existent_directories()
📝 Source code
# File railties/lib/rails/paths.rb, line 231
def existent_directories
expanded.select { |d| File.directory?(d) }
end
🔎 See on GitHub
expanded()
Expands all paths against the root and return all unique values.
Also aliased as: to_a
📝 Source code
# File railties/lib/rails/paths.rb, line 201
def expanded
raise "You need to set a path root" unless @root.path
result = []
each do |path|
path = File.expand_path(path, @root.path)
if @glob && File.directory?(path)
result.concat files_in(path)
else
result << path
end
end
result.uniq!
result
end
🔎 See on GitHub
first()
📝 Source code
# File railties/lib/rails/paths.rb, line 143
def first
expanded.first
end
🔎 See on GitHub
last()
📝 Source code
# File railties/lib/rails/paths.rb, line 147
def last
expanded.last
end
🔎 See on GitHub
paths()
📝 Source code
# File railties/lib/rails/paths.rb, line 188
def paths
raise "You need to set a path root" unless @root.path
map do |p|
Pathname.new(@root.path).join(p)
end
end
🔎 See on GitHub
to_ary()
unshift(*paths)
📝 Source code
# File railties/lib/rails/paths.rb, line 180
def unshift(*paths)
@paths.unshift(*paths)
end
🔎 See on GitHub