Class: Torganiser::FileQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/torganiser/file_query.rb

Overview

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.

Defined Under Namespace

Classes: ItemsPattern

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directories: nil, extensions: nil) ⇒ FileQuery

Returns a new instance of FileQuery.



9
10
11
12
13
14
# 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

Instance Attribute Details

#directoriesObject (readonly)

Returns the value of attribute directories.



7
8
9
# File 'lib/torganiser/file_query.rb', line 7

def directories
  @directories
end

#extensionsObject (readonly)

Returns the value of attribute extensions.



7
8
9
# File 'lib/torganiser/file_query.rb', line 7

def extensions
  @extensions
end

Instance Method Details

#add_directory(directories) ⇒ Object



24
25
26
# File 'lib/torganiser/file_query.rb', line 24

def add_directory(directories)
  @directories.concat([*directories])
end

#add_extension(extensions) ⇒ Object



20
21
22
# File 'lib/torganiser/file_query.rb', line 20

def add_extension(extensions)
  @extensions.concat([*extensions])
end

#empty?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/torganiser/file_query.rb', line 16

def empty?
  @directories.empty?
end

#patternObject



28
29
30
# File 'lib/torganiser/file_query.rb', line 28

def pattern
  directory_pattern + '/**/' + extension_pattern
end