Module: LoaderRuby
- Defined in:
- lib/loader_ruby.rb,
lib/loader_ruby/error.rb,
lib/loader_ruby/version.rb,
lib/loader_ruby/document.rb,
lib/loader_ruby/loaders/csv.rb,
lib/loader_ruby/loaders/pdf.rb,
lib/loader_ruby/loaders/web.rb,
lib/loader_ruby/loaders/base.rb,
lib/loader_ruby/loaders/docx.rb,
lib/loader_ruby/loaders/html.rb,
lib/loader_ruby/loaders/text.rb,
lib/loader_ruby/configuration.rb,
lib/loader_ruby/html_extractor.rb,
lib/loader_ruby/encoding_detector.rb
Defined Under Namespace
Modules: EncodingDetector, HtmlExtractor, Loaders
Classes: Configuration, DependencyMissingError, Document, EncodingError, Error, FileNotFoundError, FileTooLargeError, TooManyRedirectsError, UnsupportedFormatError
Constant Summary
collapse
- FORMAT_MAP =
{
".txt" => Loaders::Text, ".md" => Loaders::Text, ".markdown" => Loaders::Text,
".text" => Loaders::Text, ".log" => Loaders::Text, ".rst" => Loaders::Text,
".pdf" => Loaders::Pdf,
".docx" => Loaders::Docx,
".csv" => Loaders::Csv, ".tsv" => Loaders::Csv,
".html" => Loaders::Html, ".htm" => Loaders::Html
}.freeze
- VERSION =
"0.1.1"
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
28
29
30
|
# File 'lib/loader_ruby.rb', line 28
def configuration
@configuration ||= Configuration.new
end
|
32
33
34
|
# File 'lib/loader_ruby.rb', line 32
def configure
yield(configuration)
end
|
.load(source, **opts) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/loader_ruby.rb', line 40
def load(source, **opts)
raise ArgumentError, "source cannot be nil" if source.nil?
raise ArgumentError, "source cannot be empty" if source.is_a?(String) && source.strip.empty?
if source.start_with?("http://", "https://")
Loaders::Web.new.load(source, **opts)
else
ext = File.extname(source).downcase
loader_class = FORMAT_MAP[ext]
raise UnsupportedFormatError, "Unsupported format: #{ext}" unless loader_class
loader_class.new.load(source, **opts)
end
end
|
.load_batch(sources, **opts) ⇒ Object
55
56
57
|
# File 'lib/loader_ruby.rb', line 55
def load_batch(sources, **opts)
sources.map { |source| load(source, **opts) }
end
|
.reset_configuration! ⇒ Object
36
37
38
|
# File 'lib/loader_ruby.rb', line 36
def reset_configuration!
@configuration = Configuration.new
end
|