class ExtendedDir
Public Class Methods
files(path, order: [])
click to toggle source
# File lib/extended_dir.rb, line 14 def self.files(path, order: []) sort_files(path, order) end
load_all(path, order: [])
click to toggle source
# File lib/extended_dir.rb, line 22 def self.load_all(path, order: []) sort_files(path, order, is_ruby: true).each { |file| load file } end
require_all(path, order: [])
click to toggle source
# File lib/extended_dir.rb, line 18 def self.require_all(path, order: []) sort_files(path, order, is_ruby: true).each { |file| require file } end
Private Class Methods
sort_files(path, order, is_ruby: false)
click to toggle source
# File lib/extended_dir.rb, line 28 def self.sort_files(path, order, is_ruby: false) pattern = is_ruby ? "#{path}/**/*.rb" : "#{path}/**/*.*" files = Dir.glob(pattern) files.sort_by_with_index! do |file, i| index = order.find_index do |ordered_file| entries = Dir.glob("#{path}/#{ordered_file}") entries.include? file end index || order.length + i end end