Class: Lutaml::Xmi::LiquidDrops::RootDrop

Inherits:
Liquid::Drop
  • Object
show all
Defined in:
lib/lutaml/xmi/liquid_drops/root_drop.rb

Instance Method Summary collapse

Constructor Details

#initialize(model, guidance = nil, options = {}) ⇒ RootDrop

rubocop:disable Lint/MissingSuper,Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/lutaml/xmi/liquid_drops/root_drop.rb', line 7

def initialize(model, guidance = nil, options = {}) # rubocop:disable Lint/MissingSuper,Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity
  @model = model
  @guidance = guidance
  @options = options
  @xmi_root_model = options[:xmi_root_model]
  @id_name_mapping = options[:id_name_mapping]

  @options[:absolute_path] = "::#{model.name}"

  @packages = model&.packaged_element&.select do |e|
    e.type?("uml:Package")
  end

  @children_packages ||= packages.map do |pkg|
    [pkg, pkg.packages, pkg.packages.map(&:children_packages)]
  end.flatten.uniq
end

Instance Method Details

#children_packagesObject



36
37
38
# File 'lib/lutaml/xmi/liquid_drops/root_drop.rb', line 36

def children_packages
  @children_packages
end

#nameObject



25
26
27
# File 'lib/lutaml/xmi/liquid_drops/root_drop.rb', line 25

def name
  @model.name
end

#packagesObject



29
30
31
32
33
34
# File 'lib/lutaml/xmi/liquid_drops/root_drop.rb', line 29

def packages
  @packages.map do |package|
    ::Lutaml::Xmi::LiquidDrops::PackageDrop.new(package, @guidance,
                                                @options)
  end
end