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

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

Instance Method Summary collapse

Instance Method Details

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



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/lutaml/store/package_transport/directory_transport.rb', line 7

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



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/lutaml/store/package_transport/directory_transport.rb', line 23

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