Hi, I am working on a project in which if we click on to the browse
button then it should show only the directories,which is possible using
the rubytree that is a gem.I have require that gem too but i am not
getting the graphical representation of the directories structure where
in we can save or retrive the documents.If anybody Knows about this plz
reply me as soon as possible. It willbe well and good if i get a
practical examlpe or code for this. Thank you in advance.Hope to get the
reply fast.thanxs.
Rutuja Dive wrote:
Hi, I am working on a project in which if we click on to the browse
button then it should show only the directories,which is possible using
the rubytree that is a gem.I have require that gem too but i am not
getting the graphical representation of the directories structure where
in we can save or retrive the documents.If anybody Knows about this plz
reply me as soon as possible. It willbe well and good if i get a
practical examlpe or code for this. Thank you in advance.Hope to get the
reply fast.thanxs.
Below code can be used to convert directory structure in xml.
require ‘rubygems’
require ‘rexml/document’
class DirectoryStructure
@@excludes = ["…","."]
@@doc = REXML::Document.new %{ <?xml version="1.0" encoding="UTF-8" ?> }
def self.traverse_directory(root_path)
#traverse initial directory structure
folder = @@doc.add_element( ‘myroot’,{‘id’ => root_path} )
#call loop_path with root_path and parent_node
loop_path(root_path,folder)
#create xml file
open( “final_directory_structure.xml”, “w” ) do |f|
f.puts @@doc
end
end
def self.loop_path(path,parent_node)
dir_entries= Dir.entries(path)
don’t need ‘.’,’…’
dir_entries = dir_entries-[’.’,’…’]
dir_entries.each do | entry |
check if directory or file
if File.directory?(path+"/"+entry)
#Folders Loop -------------------------------------------------
#Gets the directories of the current node.
#It changes for each recursive call
folder = parent_node.add_element( ‘folder’ ,{‘label’ =>entry
,‘file_path’ => path+"/"+entry } )
loop_path( path+"/"+entry, folder )
else
#Files Loop ------------------------------------------------------
file = parent_node.add_element( ‘file’ ,{‘label’ =>entry ,‘file_path’
=> path+"/"+entry } )
end
end
end
#first call to traverse directory
self.traverse_directory(“Authentication/Authentication”)
end