Class: Appydave::Tools::SubtitleMaster::Join::FileResolver
- Inherits:
-
Object
- Object
- Appydave::Tools::SubtitleMaster::Join::FileResolver
- Defined in:
- lib/appydave/tools/subtitle_manager/join.rb
Overview
Handles file resolution (folder, wildcards, sorting)
Instance Method Summary collapse
-
#initialize(folder:, files:, sort:) ⇒ FileResolver
constructor
A new instance of FileResolver.
- #process ⇒ Object
Constructor Details
#initialize(folder:, files:, sort:) ⇒ FileResolver
Returns a new instance of FileResolver.
11 12 13 14 15 16 17 18 |
# File 'lib/appydave/tools/subtitle_manager/join.rb', line 11 def initialize(folder:, files:, sort:) raise ArgumentError, 'folder is required' if folder.nil? raise ArgumentError, 'files is required' if files.nil? @folder = folder @files = files @sort = sort end |
Instance Method Details
#process ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/appydave/tools/subtitle_manager/join.rb', line 20 def process # Check if folder exists before processing raise Errno::ENOENT, "No such directory - #{@folder}" unless Dir.exist?(@folder) file_patterns = @files.split(',').map(&:strip) resolved_files = file_patterns.flat_map { |pattern| resolve_pattern(pattern) } sort_files(resolved_files) end |