Class: DirTreeWalker
- Inherits:
-
Object
- Object
- DirTreeWalker
- Defined in:
- lib/treevisitor/dir_tree_walker.rb
Instance Attribute Summary collapse
-
#visit_leaf ⇒ Object
Options.
Instance Method Summary collapse
- #add_ignore_dir(pattern) ⇒ Object
- #add_ignore_file(pattern) ⇒ Object
-
#add_ignore_pattern(pattern) ⇒ Object
Pattern.
-
#add_inspect_file(pattern) ⇒ Object
quali file bisogna prendere in considerazione inspect opposto di ignore :-).
- #ignore_dir?(dirname) ⇒ Boolean
- #ignore_file?(filename) ⇒ Boolean
-
#initialize(dirname) ⇒ DirTreeWalker
constructor
A new instance of DirTreeWalker.
- #inspect_file?(filename) ⇒ Boolean
-
#run(tree_node_visitor) ⇒ Object
return the visitor.
Constructor Details
#initialize(dirname) ⇒ DirTreeWalker
Returns a new instance of DirTreeWalker.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 3 def initialize( dirname ) @dirname = dirname unless File.directory?( dirname ) raise "#{dirname} is not a directory!" end @visitor = nil # # pattern # @ignore_dir_patterns = [] @ignore_file_patterns = [] @inspect_file_patterns = [] # # options # @visit_leaf = true end |
Instance Attribute Details
#visit_leaf ⇒ Object
Options
52 53 54 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 52 def visit_leaf @visit_leaf end |
Instance Method Details
#add_ignore_dir(pattern) ⇒ Object
33 34 35 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 33 def add_ignore_dir( pattern ) @ignore_dir_patterns << pattern end |
#add_ignore_file(pattern) ⇒ Object
37 38 39 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 37 def add_ignore_file( pattern ) @ignore_file_patterns << pattern end |
#add_ignore_pattern(pattern) ⇒ Object
Pattern
28 29 30 31 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 28 def add_ignore_pattern(pattern) @ignore_dir_patterns << pattern @ignore_file_patterns << pattern end |
#add_inspect_file(pattern) ⇒ Object
quali file bisogna prendere in considerazione inspect opposto di ignore :-)
45 46 47 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 45 def add_inspect_file( pattern ) @inspect_file_patterns << pattern end |
#ignore_dir?(dirname) ⇒ Boolean
57 58 59 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 57 def ignore_dir?( dirname ) include?( @ignore_dir_patterns, File.basename( dirname ) ) end |
#ignore_file?(filename) ⇒ Boolean
61 62 63 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 61 def ignore_file?( filename ) include?( @ignore_file_patterns, File.basename( filename ) ) end |
#inspect_file?(filename) ⇒ Boolean
65 66 67 68 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 65 def inspect_file?( filename ) return true if @inspect_file_patterns.empty? include?( @inspect_file_patterns, File.basename( filename ) ) end |
#run(tree_node_visitor) ⇒ Object
return the visitor
73 74 75 76 77 |
# File 'lib/treevisitor/dir_tree_walker.rb', line 73 def run( tree_node_visitor ) @visitor = tree_node_visitor process_directory( File.( @dirname ) ) tree_node_visitor end |