Rails::Paths::Path (original) (raw)

Methods

C

E

F

L

N

P

T

U

Included Modules

Attributes

Class Public methods

Source: show | on GitHub

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

Instance Public methods

Source: show | on GitHub

def children keys = @root.keys.find_all { |k| k.start_with?(@current) && k != @current } @root.values_at(*keys.sort) end

Source: show | on GitHub

def concat(paths) @paths.concat paths end

Returns all expanded paths but only if they exist in the filesystem.

Source: show | on GitHub

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

Source: show | on GitHub

def existent_directories expanded.select { |d| File.directory?(d) } end

Expands all paths against the root and return all unique values.

Also aliased as: to_a

Source: show | on GitHub

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

Source: show | on GitHub

def paths raise "You need to set a path root" unless @root.path

map do |p| Pathname.new(@root.path).join(p) end end

Source: show | on GitHub

def unshift(*paths) @paths.unshift(*paths) end