Class: Fasterer::Config
- Inherits:
-
Object
- Object
- Fasterer::Config
- Defined in:
- lib/fasterer/config.rb
Constant Summary collapse
- FILE_NAME =
'.fasterer.yml'
- SPEEDUPS_KEY =
'speedups'
- EXCLUDE_PATHS_KEY =
'exclude_paths'
Instance Method Summary collapse
Instance Method Details
#file ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/fasterer/config.rb', line 19 def file @file ||= begin return nil_file unless File.exist?(FILE_NAME) # Yaml.load_file returns false if the content is blank loaded = YAML.load_file(FILE_NAME) || nil_file # if the loaded file misses any of the two keys. loaded.merge!(nil_file) { |_k, v1, v2| v1 || v2 } end end |
#ignored_files ⇒ Object
14 15 16 17 |
# File 'lib/fasterer/config.rb', line 14 def ignored_files @ignored_files ||= file[EXCLUDE_PATHS_KEY].flat_map { |path| Dir[path] } end |
#ignored_speedups ⇒ Object
9 10 11 12 |
# File 'lib/fasterer/config.rb', line 9 def ignored_speedups @ignored_speedups ||= file[SPEEDUPS_KEY].select { |_, value| value == false }.keys.map(&:to_sym) end |
#nil_file ⇒ Object
29 30 31 |
# File 'lib/fasterer/config.rb', line 29 def nil_file { SPEEDUPS_KEY => {}, EXCLUDE_PATHS_KEY => [] } end |