Class: Torganiser::FileQuery
- Inherits:
-
Object
- Object
- Torganiser::FileQuery
- 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
-
#directories ⇒ Object
readonly
Returns the value of attribute directories.
-
#extensions ⇒ Object
readonly
Returns the value of attribute extensions.
Instance Method Summary collapse
- #add_directory(directories) ⇒ Object
- #add_extension(extensions) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(directories: nil, extensions: nil) ⇒ FileQuery
constructor
A new instance of FileQuery.
- #pattern ⇒ Object
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
#directories ⇒ Object (readonly)
Returns the value of attribute directories.
7 8 9 |
# File 'lib/torganiser/file_query.rb', line 7 def directories @directories end |
#extensions ⇒ Object (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
16 17 18 |
# File 'lib/torganiser/file_query.rb', line 16 def empty? @directories.empty? end |
#pattern ⇒ Object
28 29 30 |
# File 'lib/torganiser/file_query.rb', line 28 def pattern directory_pattern + '/**/' + extension_pattern end |