class Torganiser::FileQuery
A file query is specified by adding allowed directories, and optionally, extensions. The 'pattern' method returns a Dir.glob style pattern that can be used to match a set of files.
Attributes
directories[R]
extensions[R]
Public Class Methods
new(directories: nil, extensions: nil)
click to toggle source
# File lib/torganiser/file_query.rb, line 9 def initialize(directories: nil, extensions: nil) @directories = [] @extensions = [] add_directory(directories) if directories add_extension(extensions) if extensions end
Public Instance Methods
add_directory(directories)
click to toggle source
# File lib/torganiser/file_query.rb, line 24 def add_directory(directories) @directories.concat([*directories]) end
add_extension(extensions)
click to toggle source
# File lib/torganiser/file_query.rb, line 20 def add_extension(extensions) @extensions.concat([*extensions]) end
empty?()
click to toggle source
# File lib/torganiser/file_query.rb, line 16 def empty? @directories.empty? end
pattern()
click to toggle source
# File lib/torganiser/file_query.rb, line 28 def pattern directory_pattern + '/**/' + extension_pattern end
Private Instance Methods
directory_pattern()
click to toggle source
# File lib/torganiser/file_query.rb, line 34 def directory_pattern ItemsPattern.new(directories).to_s end
extension_pattern()
click to toggle source
# File lib/torganiser/file_query.rb, line 38 def extension_pattern '*' + (extensions.count > 0 ? ItemsPattern.new(extensions).to_s : '') end