Class: Lutaml::Store::PackageTransport::DirectoryTransport

Inherits:
Base
  • Object
show all
Defined in:
lib/lutaml/store/package_transport.rb

Instance Method Summary collapse

Instance Method Details

#read(path, package_store, format: nil) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/lutaml/store/package_transport.rb', line 39

def read(path, package_store, format: nil)
  definition = package_store.definition
  global_format = format

  (path, package_store)

  definition.model_entries.each do |entry|
    fmt_name = global_format || entry.default_format
    read_model_entry(path, entry, package_store, fmt_name)
  end

  definition.asset_entries.each do |entry|
    read_asset_entry(path, entry, package_store)
  end
end

#write(path, package_store, formats: {}) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/lutaml/store/package_transport.rb', line 55

def write(path, package_store, formats: {})
  definition = package_store.definition
  FileUtils.mkdir_p(path)

  (path, package_store)

  definition.model_entries.each do |entry|
    fmt_name = effective_format(entry, formats)
    fmt = resolve_format(fmt_name)
    write_model_entry(path, entry, package_store, fmt)
  end

  definition.asset_entries.each do |entry|
    write_asset_entry(path, entry, package_store)
  end
end