Methods

Included Modules

Attributes

[RW] glob

Class Public methods

new(root, current, paths, options = {})

📝 Source code
# File railties/lib/rails/paths.rb, line 116
      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 168
      def <<(path)
        @paths << path
      end
🔎 See on GitHub

children()

📝 Source code
# File railties/lib/rails/paths.rb, line 133
      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 173
      def concat(paths)
        @paths.concat paths
      end
🔎 See on GitHub

each(&block)

📝 Source code
# File railties/lib/rails/paths.rb, line 164
      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 217
      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 228
      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 198
      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 140
      def first
        expanded.first
      end
🔎 See on GitHub

last()

📝 Source code
# File railties/lib/rails/paths.rb, line 144
      def last
        expanded.last
      end
🔎 See on GitHub

paths()

📝 Source code
# File railties/lib/rails/paths.rb, line 185
      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

push(path)

Alias for: <<

to_a()

Alias for: expanded

to_ary()

📝 Source code
# File railties/lib/rails/paths.rb, line 181
      def to_ary
        @paths
      end
🔎 See on GitHub

unshift(*paths)

📝 Source code
# File railties/lib/rails/paths.rb, line 177
      def unshift(*paths)
        @paths.unshift(*paths)
      end
🔎 See on GitHub