Class: Lutaml::UmlRepository::PackageExporter
- Inherits:
-
Object
- Object
- Lutaml::UmlRepository::PackageExporter
- Defined in:
- lib/lutaml/uml_repository/package_exporter.rb
Overview
PackageExporter handles exporting UmlRepository instances to LUR (LutaML UML Repository) package files.
LUR packages are ZIP archives containing:
-
Serialized Document model
-
Serialized indexes for fast loading
-
Metadata about the package
-
Statistics about the model
Instance Attribute Summary collapse
-
#metadata ⇒ PackageMetadata
readonly
The package metadata.
-
#options ⇒ Hash
readonly
Export options.
-
#repository ⇒ UmlRepository
readonly
The repository being exported.
Instance Method Summary collapse
-
#export(output_path) ⇒ void
Export the repository to a LUR package file.
-
#initialize(repository, options = {}) ⇒ PackageExporter
constructor
Initialize a new PackageExporter.
Constructor Details
#initialize(repository, options = {}) ⇒ PackageExporter
Initialize a new PackageExporter.
65 66 67 68 69 |
# File 'lib/lutaml/uml_repository/package_exporter.rb', line 65 def initialize(repository, = {}) @repository = repository @options = .merge() @metadata = (@options) end |
Instance Attribute Details
#metadata ⇒ PackageMetadata (readonly)
Returns The package metadata.
47 48 49 |
# File 'lib/lutaml/uml_repository/package_exporter.rb', line 47 def @metadata end |
#options ⇒ Hash (readonly)
Returns Export options.
44 45 46 |
# File 'lib/lutaml/uml_repository/package_exporter.rb', line 44 def @options end |
#repository ⇒ UmlRepository (readonly)
Returns The repository being exported.
41 42 43 |
# File 'lib/lutaml/uml_repository/package_exporter.rb', line 41 def repository @repository end |
Instance Method Details
#export(output_path) ⇒ void
This method returns an undefined value.
Export the repository to a LUR package file.
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/lutaml/uml_repository/package_exporter.rb', line 78 def export(output_path) # rubocop:disable Metrics/MethodLength retries = 0 begin write_lur_package(output_path) rescue Errno::EACCES retries += 1 retry if retries < 3 raise end end |