Class: Ace::Support::Items::Molecules::DocumentLoader
- Inherits:
-
Object
- Object
- Ace::Support::Items::Molecules::DocumentLoader
- Defined in:
- lib/ace/support/items/molecules/document_loader.rb
Overview
Loads a document from an item directory: finds the spec file, parses frontmatter/body, extracts title, and enumerates attachments.
Class Method Summary collapse
-
.from_scan_result(scan_result, spec_extension:, file_pattern: nil) ⇒ LoadedDocument?
Load a document from a ScanResult.
-
.load(dir_path, file_pattern:, spec_extension:) ⇒ LoadedDocument?
Load a document from a directory path.
Class Method Details
.from_scan_result(scan_result, spec_extension:, file_pattern: nil) ⇒ LoadedDocument?
Load a document from a ScanResult
33 34 35 36 37 38 39 40 |
# File 'lib/ace/support/items/molecules/document_loader.rb', line 33 def self.from_scan_result(scan_result, spec_extension:, file_pattern: nil) return nil unless scan_result&.dir_path && Dir.exist?(scan_result.dir_path) spec_file = scan_result.file_path || Dir.glob(File.join(scan_result.dir_path, file_pattern)).first return nil unless spec_file build_document(scan_result.dir_path, spec_file, spec_extension) end |
.load(dir_path, file_pattern:, spec_extension:) ⇒ LoadedDocument?
Load a document from a directory path
19 20 21 22 23 24 25 26 |
# File 'lib/ace/support/items/molecules/document_loader.rb', line 19 def self.load(dir_path, file_pattern:, spec_extension:) return nil unless Dir.exist?(dir_path) spec_file = Dir.glob(File.join(dir_path, file_pattern)).first return nil unless spec_file build_document(dir_path, spec_file, spec_extension) end |