Methods
Attributes
[RW] | glob | |
[R] | path |
Class Public methods
# File railties/lib/rails/paths.rb, line 107 def initialize(root, current, *paths) options = paths.last.is_a?(::Hash) ? paths.pop : {} super(paths.flatten) @current = current @root = root @glob = options[:glob] 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
Instance Public methods
Returns all expanded paths but only if they exist in the filesystem.
Expands all paths against the root and return all unique values.
Also aliased as: to_a
# File railties/lib/rails/paths.rb, line 152 def expanded raise "You need to set a path root" unless @root.path result = [] each do |p| path = File.expand_path(p, @root.path) if @glob if File.directory? path result.concat expand_dir(path, @glob) else # FIXME: I think we can remove this branch, but I'm not sure. # Say the filesystem has this file: # # /tmp/foobar # # and someone adds this path: # # /tmp/foo # # with a glob of "*", then this function will return # # /tmp/foobar # # We need to figure out if that is desired behavior. result.concat expand_file(path, @glob) end else result << path end end result.uniq! result end