Class: Makit::Tree
- Inherits:
-
Object
- Object
- Makit::Tree
- Defined in:
- lib/makit/tree.rb
Instance Method Summary collapse
Instance Method Details
#generate_tree_string(tree, indent = "") ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/makit/tree.rb', line 24 def generate_tree_string(tree, indent = "") result = "" tree.each do |key, value| if value.is_a?(Hash) result << "#{indent}#{key}/\n" result << generate_tree_string(value, "#{indent} ") else result << "#{indent}#{key}\n" end end result end |
#get_source_tree ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/makit/tree.rb', line 6 def get_source_tree files = `git ls-files`.split("\n") tree = {} # Build a nested hash representing the file structure files.each do |file| parts = file.split("/") current = tree parts.each_with_index do |part, index| current[part] ||= (index == parts.length - 1 ? nil : {}) current = current[part] unless current[part].nil? end end generate_tree_string(tree) end |