Class: SourceFinder::SourceFileGlobber

Inherits:
Object
  • Object
show all
Defined in:
lib/source_finder/source_file_globber.rb

Overview

Give configuration, finds source file locations by using an inclusion and exclusion glob

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(globber: fail) ⇒ SourceFileGlobber

Returns a new instance of SourceFileGlobber.



63
64
65
# File 'lib/source_finder/source_file_globber.rb', line 63

def initialize(globber: fail)
  @globber = globber
end

Instance Attribute Details

#exclude_filesObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def exclude_files
  @exclude_files
end

#extra_filesObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def extra_files
  @extra_files
end

#extra_ruby_filesObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def extra_ruby_files
  @extra_ruby_files
end

#ruby_dirsObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def ruby_dirs
  @ruby_dirs
end

#ruby_file_extensionsObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def ruby_file_extensions
  @ruby_file_extensions
end

#source_dirsObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def source_dirs
  @source_dirs
end

#source_file_extensionsObject

See README.md for documentation on these configuration parameters.



7
8
9
# File 'lib/source_finder/source_file_globber.rb', line 7

def source_file_extensions
  @source_file_extensions
end

Instance Method Details

#ruby_filesObject



59
60
61
# File 'lib/source_finder/source_file_globber.rb', line 59

def ruby_files
  (@globber.glob(ruby_files_glob) - exclude_files).join(' ')
end

#ruby_files_globObject



55
56
57
# File 'lib/source_finder/source_file_globber.rb', line 55

def ruby_files_glob
  source_files_glob(extra_ruby_files, ruby_dirs, ruby_file_extensions)
end

#source_files_exclude_globObject



47
48
49
# File 'lib/source_finder/source_file_globber.rb', line 47

def source_files_exclude_glob
  "{#{exclude_files.join(', ')}}"
end

#source_files_glob(extra_source_files = extra_files, dirs = source_dirs, extensions = source_file_extensions) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'lib/source_finder/source_file_globber.rb', line 36

def source_files_glob(extra_source_files = extra_files,
                      dirs = source_dirs,
                      extensions = source_file_extensions)
  "{#{extra_source_files.join(',')}," \
    "{*,.*}.{#{extensions}}," +
    File.join("{#{dirs.join(',')}}",
              '**',
              "{*,.*}.{#{extensions}}") +
    '}'
end