Module: DirectoryLoader
- Defined in:
- lib/asker/loader/directory_loader.rb
Overview
Load input data from one directory
Class Method Summary collapse
-
.check_dir(dirname) ⇒ Object
Check directory.
-
.load(dirname) ⇒ Object
Load input data from directory.
-
.load_file(filepath, last = false) ⇒ Object
Load one input file.
-
.load_files(filenames, dirname) ⇒ Object
Load accepted files from dirname directory.
Class Method Details
.check_dir(dirname) ⇒ Object
Check directory
21 22 23 24 25 26 27 |
# File 'lib/asker/loader/directory_loader.rb', line 21 def self.check_dir(dirname) return if Dir.exist? dirname msg = Rainbow("[ERROR] #{dirname} directory dosn't exist!").color(:red) puts msg raise msg end |
.load(dirname) ⇒ Object
Load input data from directory
10 11 12 13 14 15 16 |
# File 'lib/asker/loader/directory_loader.rb', line 10 def self.load(dirname) DirectoryLoader.check_dir(dirname) files = (Dir.new(dirname).entries - ['.', '..']).sort # Accept only HAML or XML files accepted = files.select { |f| %w[.xml .haml].include? File.extname(f) } DirectoryLoader.load_files(accepted, dirname) end |
.load_file(filepath, last = false) ⇒ Object
Load one input file
48 49 50 |
# File 'lib/asker/loader/directory_loader.rb', line 48 def self.load_file(filepath, last = false) FileLoader.load(filepath) end |
.load_files(filenames, dirname) ⇒ Object
Load accepted files from dirname directory
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/asker/loader/directory_loader.rb', line 33 def self.load_files(filenames, dirname) output = { concepts: [], codes: [] } filenames.each do |filename| filepath = File.join(dirname, filename) data = DirectoryLoader.load_file(filepath, filename == filenames.last) output[:concepts] += data[:concepts] output[:codes] += data[:codes] end output end |