Class: SwarmSDK::V3::Tools::DocumentConverters::Base
- Inherits:
-
Object
- Object
- SwarmSDK::V3::Tools::DocumentConverters::Base
- Defined in:
- lib/swarm_sdk/v3/tools/document_converters/base.rb
Overview
Abstract base class for document converters
Provides common interface and helpers for converting documents to text. Each converter checks gem availability and provides clear error messages.
Direct Known Subclasses
Class Method Summary collapse
-
.available? ⇒ Boolean
Check if required gem is available.
-
.extensions ⇒ Array<String>
File extensions this converter handles.
-
.format_name ⇒ String
Human-readable format name.
-
.gem_name ⇒ String
Gem name required for this converter.
Instance Method Summary collapse
-
#convert(file_path) ⇒ String, RubyLLM::Content
Convert document to text (possibly with image attachments).
Class Method Details
.available? ⇒ Boolean
Check if required gem is available
40 41 42 43 44 45 |
# File 'lib/swarm_sdk/v3/tools/document_converters/base.rb', line 40 def available? Gem::Specification.find_by_name(gem_name) true rescue Gem::MissingSpecError false end |
.extensions ⇒ Array<String>
File extensions this converter handles
33 34 35 |
# File 'lib/swarm_sdk/v3/tools/document_converters/base.rb', line 33 def extensions raise NotImplementedError, "#{name} must implement .extensions" end |
.format_name ⇒ String
Human-readable format name
25 26 27 |
# File 'lib/swarm_sdk/v3/tools/document_converters/base.rb', line 25 def format_name raise NotImplementedError, "#{name} must implement .format_name" end |
.gem_name ⇒ String
Gem name required for this converter
17 18 19 |
# File 'lib/swarm_sdk/v3/tools/document_converters/base.rb', line 17 def gem_name raise NotImplementedError, "#{name} must implement .gem_name" end |
Instance Method Details
#convert(file_path) ⇒ String, RubyLLM::Content
Convert document to text (possibly with image attachments)
53 54 55 |
# File 'lib/swarm_sdk/v3/tools/document_converters/base.rb', line 53 def convert(file_path) raise NotImplementedError, "#{self.class.name} must implement #convert" end |