Module: Fontist::PathScanning
- Defined in:
- lib/fontist/path_scanning.rb
Constant Summary collapse
- FONT_EXTENSIONS =
[ ".ttf", ".TTF", ".ttc", ".TTC", ".otf", ".OTF", ".otc", ".OTC", ".woff", ".woff2", ".WOFF", ".WOFF2" ].freeze
Class Method Summary collapse
-
.glob_font_files(pattern) ⇒ Object
Glob-based font file scanning with filtering Use this for recursive patterns or multiple directories.
-
.list_font_directory(directory) ⇒ Object
More efficient than glob for just listing fonts in a directory Returns: Array of full paths to font files.
Class Method Details
.glob_font_files(pattern) ⇒ Object
Glob-based font file scanning with filtering Use this for recursive patterns or multiple directories
28 29 30 |
# File 'lib/fontist/path_scanning.rb', line 28 def glob_font_files(pattern) Dir.glob(pattern).select { |f| font_file?(f) }.uniq end |
.list_font_directory(directory) ⇒ Object
More efficient than glob for just listing fonts in a directory Returns: Array of full paths to font files
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fontist/path_scanning.rb', line 14 def list_font_directory(directory) return [] unless Dir.exist?(directory) # Use Dir.children (faster than glob for just listing) Dir.children(directory).select do |filename| FONT_EXTENSIONS.any? { |ext| filename.end_with?(ext) } end.map { |filename| File.join(directory, filename) } rescue Errno::EACCES, Errno::EPERM # Handle permission errors gracefully [] end |