class Nknm::Lists::Directory
Attributes
path[R]
Public Class Methods
new(path, include_files: true, include_subdirs: true)
click to toggle source
Create a new list based on a filesystem directory. @param path [String] the directory path to examine @param include_files [Boolean] should files be included? @param include_subdirs [Boolean] should directories be included? @return [Directory]
# File lib/nknm/lists/directory.rb, line 13 def initialize(path, include_files: true, include_subdirs: true) @path = path @include_files, @include_subdirs = include_files, include_subdirs end
Public Instance Methods
items()
click to toggle source
Get all the desired items from the specified directory. @return [Array<Entry>]
# File lib/nknm/lists/directory.rb, line 20 def items @_items ||= Dir[File.join(path, "*")] .select { |i| include?(i) } .map { |i| Entry.new(i) } end
Private Instance Methods
include?(item)
click to toggle source
# File lib/nknm/lists/directory.rb, line 28 def include?(item) (@include_files || !File.file?(item)) && (@include_subdirs || !File.directory?(item)) end