Class: Fasterer::FileTraverser
- Inherits:
-
Object
- Object
- Fasterer::FileTraverser
- Defined in:
- lib/fasterer/file_traverser.rb
Constant Summary collapse
- CONFIG_FILE_NAME =
'.fasterer.yml'
- SPEEDUPS_KEY =
'speedups'
- EXCLUDE_PATHS_KEY =
'exclude_paths'
Instance Method Summary collapse
- #config_file ⇒ Object
- #ignored_files ⇒ Object
- #ignored_speedups ⇒ Object
-
#initialize(path) ⇒ FileTraverser
constructor
A new instance of FileTraverser.
- #traverse ⇒ Object
Constructor Details
#initialize(path) ⇒ FileTraverser
Returns a new instance of FileTraverser.
14 15 16 17 |
# File 'lib/fasterer/file_traverser.rb', line 14 def initialize(path) @path = Pathname(path) @parse_error_paths = [] end |
Instance Method Details
#config_file ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/fasterer/file_traverser.rb', line 38 def config_file @config_file ||= if File.exists?(CONFIG_FILE_NAME) YAML.load_file(CONFIG_FILE_NAME) else nil_config_file end end |
#ignored_files ⇒ Object
33 34 35 36 |
# File 'lib/fasterer/file_traverser.rb', line 33 def ignored_files @ignored_files ||= config_file[EXCLUDE_PATHS_KEY].flat_map { |path| Dir[path] } end |
#ignored_speedups ⇒ Object
28 29 30 31 |
# File 'lib/fasterer/file_traverser.rb', line 28 def ignored_speedups @ignored_speedups ||= config_file[SPEEDUPS_KEY].select { |_, value| value == false }.keys.map(&:to_sym) end |
#traverse ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/fasterer/file_traverser.rb', line 19 def traverse if @path.directory? scannable_files.each { |ruby_file| scan_file(ruby_file) } else scan_file(@path) end output_parse_errors if parse_error_paths.any? end |