Class: Rails::Paths::Path
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Instance Chain:
|
|
| Inherits: | Object |
| Defined in: | railties/lib/rails/paths.rb |
Class Method Summary
- .new(root, current, paths, options = {}) ⇒ Path constructor
Instance Attribute Summary
- #autoload? ⇒ Boolean readonly
- #autoload_once? ⇒ Boolean readonly
- #eager_load? ⇒ Boolean readonly
- #glob rw
- #load_path? ⇒ Boolean readonly
::Enumerable - Included
| #many? | Returns |
Instance Method Summary
- #<<(path) (also: #push)
- #autoload!
- #autoload_once!
- #children
- #concat(paths)
- #each(&block)
- #eager_load!
-
#existent
Returns all expanded paths but only if they exist in the filesystem.
- #existent_directories
-
#expanded
(also: #to_a)
Expands all paths against the root and return all unique values.
- #expanded_files
- #first
- #last
- #load_path!
- #paths
-
#push(path)
Alias for #<<.
- #skip_autoload!
- #skip_autoload_once!
- #skip_eager_load!
- #skip_load_path!
-
#to_a
Alias for #expanded.
- #to_ary
- #unshift(*paths)
- #files_in(path) private
- #absolute_current Internal use only
- #extensions Internal use only
::Enumerable - Included
| #compact_blank | Returns a new |
| #exclude? | The negative of the |
| #excluding | Returns a copy of the enumerable excluding the specified elements. |
| #in_order_of | Returns a new |
| #including | Returns a new array that includes the passed elements. |
| #index_by | Convert an enumerable to a hash, using the block result as the key and the element as the value. |
| #index_with | Convert an enumerable to a hash, using the element as the key and the block result as the value. |
| #maximum | Calculates the maximum from the extracted elements. |
| #minimum | Calculates the minimum from the extracted elements. |
| #pick | Extract the given key from the first element in the enumerable. |
| #pluck | Extract the given key from each element in the enumerable. |
| #sole | Returns the sole item in the enumerable. |
| #without | Alias for Enumerable#excluding. |
| #as_json | |
::ActiveSupport::EnumerableCoreExt::Constants - Included
Constructor Details
.new(root, current, paths, options = {}) ⇒ Path
# File 'railties/lib/rails/paths.rb', line 130
def initialize(root, current, paths, = {}) @paths = paths @current = current @root = root @glob = [:glob] @exclude = [:exclude] [:autoload_once] ? autoload_once! : skip_autoload_once! [:eager_load] ? eager_load! : skip_eager_load! [:autoload] ? autoload! : skip_autoload! [:load_path] ? load_path! : skip_load_path! end
Instance Attribute Details
#autoload? ⇒ Boolean (readonly)
[ GitHub ]
# File 'railties/lib/rails/paths.rb', line 172
def autoload? = @autoload
#autoload_once? ⇒ Boolean (readonly)
[ GitHub ]
# File 'railties/lib/rails/paths.rb', line 164
def autoload_once? = @autoload_once
#eager_load? ⇒ Boolean (readonly)
[ GitHub ]
# File 'railties/lib/rails/paths.rb', line 168
def eager_load? = @eager_load
#glob (rw)
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 128
attr_accessor :glob
#load_path? ⇒ Boolean (readonly)
[ GitHub ]
# File 'railties/lib/rails/paths.rb', line 176
def load_path? = @load_path
Instance Method Details
#<<(path) Also known as: #push
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 182
def <<(path) @paths << path end
#absolute_current
# File 'railties/lib/rails/paths.rb', line 143
def absolute_current # :nodoc: File.(@current, @root.path) end
#autoload!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 170
def autoload! = @autoload = true
#autoload_once!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 162
def autoload_once! = @autoload_once = true
#children
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 147
def children keys = @root.keys.find_all { |k| k.start_with?(@current) && k != @current } @root.values_at(*keys.sort) end
#concat(paths)
[ GitHub ]#each(&block)
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 178
def each(&block) @paths.each(&block) end
#eager_load!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 166
def eager_load! = @eager_load = true
#existent
Returns all expanded paths but only if they exist in the filesystem.
#existent_directories
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 242
def existent_directories .select { |d| File.directory?(d) } end
#expanded Also known as: #to_a
Expands all paths against the root and return all unique values.
#expanded_files
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 246
def .select { |file| !File.extname(file).empty? } end
#extensions
# File 'railties/lib/rails/paths.rb', line 207
def extensions # :nodoc: $1.split(",") if @glob =~ /\{([\S]+)\}/ end
#files_in(path) (private)
[ GitHub ]#first
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 154
def first .first end
#last
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 158
def last .last end
#load_path!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 174
def load_path! = @load_path = true
#paths
[ GitHub ]#push(path)
Alias for #<<.
# File 'railties/lib/rails/paths.rb', line 185
alias :push :<<
#skip_autoload!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 171
def skip_autoload! = @autoload = false
#skip_autoload_once!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 163
def skip_autoload_once! = @autoload_once = false
#skip_eager_load!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 167
def skip_eager_load! = @eager_load = false
#skip_load_path!
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 175
def skip_load_path! = @load_path = false
#to_a
Alias for #expanded.
# File 'railties/lib/rails/paths.rb', line 250
alias to_a
#to_ary
[ GitHub ]# File 'railties/lib/rails/paths.rb', line 195
def to_ary @paths end