module DirParser
Public Class Methods
make_hash(dir, parent_dir)
click to toggle source
# File lib/codefusion/dir_parser.rb, line 2 def self.make_hash(dir, parent_dir) full_path = File.join(parent_dir, dir) children = Dir.entries(full_path).partition do |child| File.directory?( File.join(full_path, child) ) end { folder_name: dir, files: DirParser.return_files( children[1], full_path, parent_dir ), folders: DirParser.return_folders( children[0], dir, parent_dir ) } end
Private Class Methods
return_files(children, full_path, parent_dir)
click to toggle source
# File lib/codefusion/dir_parser.rb, line 14 def self.return_files(children, full_path, parent_dir) children.map do |file| begin if File.read( File.join(full_path, file)).to_json { file_name: FileParser.shortened_path( File.join(full_path, file) , parent_dir ), file_content: File.read( File.join(full_path, file) ) } end rescue Exception => e end end end
return_folders(children, dir, parent_dir)
click to toggle source
# File lib/codefusion/dir_parser.rb, line 27 def self.return_folders(children, dir, parent_dir) children.reject! { |child| child =~ /\./ } children.map { |folder| DirParser.make_hash( File.join(dir, folder), parent_dir ) } end