Class: Fastererer::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/fastererer/config.rb

Constant Summary collapse

FILE_NAME =
'.fastererer.yml'
SPEEDUPS_KEY =
'speedups'
EXCLUDE_PATHS_KEY =
'exclude_paths'

Instance Method Summary collapse

Instance Method Details

#fileObject



22
23
24
25
26
# File 'lib/fastererer/config.rb', line 22

def file
  return @file if defined?(@file)

  @file = load_file
end

#file_locationObject



28
29
30
31
32
33
34
# File 'lib/fastererer/config.rb', line 28

def file_location
  @file_location ||=
    Pathname(Dir.pwd)
    .enum_for(:ascend)
    .map { |dir| File.join(dir.to_s, FILE_NAME) }
    .find { |f| File.exist?(f) }
end

#ignored_filesObject



17
18
19
20
# File 'lib/fastererer/config.rb', line 17

def ignored_files
  @ignored_files ||=
    file[EXCLUDE_PATHS_KEY].flat_map { |path| Dir[path] }
end

#ignored_speedupsObject



12
13
14
15
# File 'lib/fastererer/config.rb', line 12

def ignored_speedups
  @ignored_speedups ||=
    file[SPEEDUPS_KEY].select { |_, value| value == false }.keys.map(&:to_sym)
end

#nil_fileObject



36
37
38
# File 'lib/fastererer/config.rb', line 36

def nil_file
  { SPEEDUPS_KEY => {}, EXCLUDE_PATHS_KEY => [] }
end