Class: Legion::Data::Extract::Handlers::Jsonl
- Inherits:
-
Base
- Object
- Base
- Legion::Data::Extract::Handlers::Jsonl
show all
- Defined in:
- lib/legion/data/extract/handlers/jsonl.rb
Class Method Summary
collapse
Methods inherited from Base
available?, for_type, inherited, register, supported_types
#handle_exception
Class Method Details
.extensions ⇒ Object
11
|
# File 'lib/legion/data/extract/handlers/jsonl.rb', line 11
def self.extensions = %w[.jsonl]
|
14
15
16
17
18
19
20
21
22
|
# File 'lib/legion/data/extract/handlers/jsonl.rb', line 14
def self.(source)
content = source.respond_to?(:read) ? source.read : File.read(source.to_s)
lines = content.each_line.map { |l| ::JSON.parse(l.strip) rescue l.strip } text = lines.map { |l| l.is_a?(Hash) ? ::JSON.pretty_generate(l) : l }.join("\n---\n")
{ text: text, metadata: { lines: lines.size } }
rescue StandardError => e
handle_exception(e, level: :warn, handled: true, operation: :extract_jsonl)
{ text: nil, error: e.message }
end
|
.gem_name ⇒ Object
12
|
# File 'lib/legion/data/extract/handlers/jsonl.rb', line 12
def self.gem_name = nil
|
.type ⇒ Object
10
|
# File 'lib/legion/data/extract/handlers/jsonl.rb', line 10
def self.type = :jsonl
|