Class: Lutaml::Yamls::Adapter::StandardAdapter

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

Constant Summary collapse

FORMAT_SYMBOL =
:yamls

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Document

#initialize

Constructor Details

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

Class Method Details

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



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

def self.parse(yamls, _options = {})
  results = []

  yamls.split(/^---\n/).each do |yaml|
    next if yaml.strip.empty?

    begin
      results << YAML.safe_load(yaml, aliases: true)
    rescue Psych::SyntaxError => e
      warn "Skipping invalid yaml: #{e.message}"
    end
  end

  results
end

Instance Method Details

#to_yamls(*_args) ⇒ Object



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

def to_yamls(*_args)
  (@yamls || []).map do |yaml|
    YAML.dump(yaml).strip
  end.join("\n")
end