Class: Lutaml::Jsonl::Adapter::StandardAdapter

Inherits:
Document
  • Object
show all
Defined in:
lib/lutaml/jsonl/adapter/standard_adapter.rb

Constant Summary collapse

FORMAT_SYMBOL =
:jsonl

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Document

#initialize

Constructor Details

This class inherits a constructor from Lutaml::Jsonl::Adapter::Document

Class Method Details

.parse(jsonl, _options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/lutaml/jsonl/adapter/standard_adapter.rb', line 11

def self.parse(jsonl, _options = {})
  results = []
  jsonl.split("\n").each do |line|
    next if line.strip.empty?

    begin
      results << JSON.parse(line, create_additions: false)
    rescue JSON::ParserError => e
      warn "Skipping invalid line: #{e.message}"
    end
  end

  results
end

Instance Method Details

#to_jsonl(*_args) ⇒ Object



26
27
28
29
30
# File 'lib/lutaml/jsonl/adapter/standard_adapter.rb', line 26

def to_jsonl(*_args)
  (@jsons || []).map do |json|
    JSON.generate(json)
  end.join("\n")
end