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