Class: Lutaml::Uml::Package

Inherits:
TopElement show all
Includes:
HasAttributes
Defined in:
lib/lutaml/uml/package.rb

Direct Known Subclasses

Model

Instance Attribute Summary collapse

Attributes inherited from TopElement

#comments, #definition, #href, #keyword, #name, #namespace, #stereotype, #visibility, #xmi_id, #xmi_uuid

Instance Method Summary collapse

Methods included from HasAttributes

#update_attributes

Methods inherited from TopElement

#full_name

Constructor Details

#initialize(attributes) ⇒ Package

rubocop:disable Lint/MissingSuper



11
12
13
14
15
16
# File 'lib/lutaml/uml/package.rb', line 11

def initialize(attributes) # rubocop:disable Lint/MissingSuper
  update_attributes(attributes)
  @children_packages ||= packages.map do |pkg|
    [pkg, pkg.packages, pkg.packages.map(&:children_packages)]
  end.flatten.uniq
end

Instance Attribute Details

#children_packagesObject (readonly)

Returns the value of attribute children_packages.



9
10
11
# File 'lib/lutaml/uml/package.rb', line 9

def children_packages
  @children_packages
end

#contentsObject

Returns the value of attribute contents.



8
9
10
# File 'lib/lutaml/uml/package.rb', line 8

def contents
  @contents
end

#data_typesObject

Returns the value of attribute data_types.



9
10
11
# File 'lib/lutaml/uml/package.rb', line 9

def data_types
  @data_types
end

#importsObject

Returns the value of attribute imports.



8
9
10
# File 'lib/lutaml/uml/package.rb', line 8

def imports
  @imports
end

Instance Method Details

#classesObject



38
39
40
# File 'lib/lutaml/uml/package.rb', line 38

def classes
  @classes || []
end

#classes=(value) ⇒ Object



18
19
20
# File 'lib/lutaml/uml/package.rb', line 18

def classes=(value)
  @classes = value.to_a.map { |attributes| Class.new(attributes) }
end

#diagramsObject



50
51
52
# File 'lib/lutaml/uml/package.rb', line 50

def diagrams
  @diagrams || []
end

#diagrams=(value) ⇒ Object



34
35
36
# File 'lib/lutaml/uml/package.rb', line 34

def diagrams=(value)
  @diagrams = value.to_a.map { |attributes| Diagram.new(attributes) }
end

#enumsObject



42
43
44
# File 'lib/lutaml/uml/package.rb', line 42

def enums
  @enums || []
end

#enums=(value) ⇒ Object



22
23
24
# File 'lib/lutaml/uml/package.rb', line 22

def enums=(value)
  @enums = value.to_a.map { |attributes| Enum.new(attributes) }
end

#packagesObject



46
47
48
# File 'lib/lutaml/uml/package.rb', line 46

def packages
  @packages || []
end

#packages=(value) ⇒ Object



30
31
32
# File 'lib/lutaml/uml/package.rb', line 30

def packages=(value)
  @packages = value.to_a.map { |attributes| Package.new(attributes) }
end