Class: Archimate::DataModel::Diagram
- Inherits:
-
Object
- Object
- Archimate::DataModel::Diagram
show all
- Includes:
- Comparison
- Defined in:
- lib/archimate/data_model/diagram.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#all_nodes ⇒ Object
-
#element_ids ⇒ Object
-
#elements ⇒ Object
-
#initialize(id:, name: nil, documentation: nil, type: nil, properties: [], viewpoint_type: nil, viewpoint: nil, nodes: [], connection_router_type: nil, background: nil, connections: []) ⇒ Diagram
constructor
A new instance of Diagram.
-
#referenced_identified_nodes ⇒ Object
-
#relationship_ids ⇒ Object
-
#relationships ⇒ Object
-
#to_s ⇒ Object
-
#total_viewpoint? ⇒ Boolean
Methods included from Comparison
#==, #[], #dig, #each, #hash, included, #pretty_print, #to_h
Constructor Details
#initialize(id:, name: nil, documentation: nil, type: nil, properties: [], viewpoint_type: nil, viewpoint: nil, nodes: [], connection_router_type: nil, background: nil, connections: []) ⇒ Diagram
Returns a new instance of Diagram.
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/archimate/data_model/diagram.rb', line 50
def initialize(id:, name: nil, documentation: nil, type: nil, properties: [],
viewpoint_type: nil, viewpoint: nil, nodes: [],
connection_router_type: nil, background: nil, connections: [])
@id = id
@name = name
@documentation = documentation
@type = type
@properties = properties
@viewpoint_type = viewpoint_type
@viewpoint = viewpoint
@nodes = nodes
@connection_router_type = connection_router_type
@background = background
@connections = connections
end
|
Instance Attribute Details
#background ⇒ Int, NilClass
45
|
# File 'lib/archimate/data_model/diagram.rb', line 45
model_attr :background
|
#connection_router_type ⇒ Int, NilClass
41
|
# File 'lib/archimate/data_model/diagram.rb', line 41
model_attr :connection_router_type
|
#connections ⇒ Array<Connection>
48
|
# File 'lib/archimate/data_model/diagram.rb', line 48
model_attr :connections, writable: true
|
16
|
# File 'lib/archimate/data_model/diagram.rb', line 16
model_attr :documentation, writable: true
|
#id ⇒ String
10
|
# File 'lib/archimate/data_model/diagram.rb', line 10
model_attr :id
|
13
|
# File 'lib/archimate/data_model/diagram.rb', line 13
model_attr :name, writable: true
|
37
|
# File 'lib/archimate/data_model/diagram.rb', line 37
model_attr :nodes, writable: true
|
#properties ⇒ Array<Property>
27
|
# File 'lib/archimate/data_model/diagram.rb', line 27
model_attr :properties, writable: true
|
#type ⇒ String, NilClass
24
|
# File 'lib/archimate/data_model/diagram.rb', line 24
model_attr :type
|
#viewpoint ⇒ Viewpoint, NilClass
34
|
# File 'lib/archimate/data_model/diagram.rb', line 34
model_attr :viewpoint
|
#viewpoint_type ⇒ String, NilClass
31
|
# File 'lib/archimate/data_model/diagram.rb', line 31
model_attr :viewpoint_type
|
Instance Method Details
#all_nodes ⇒ Object
66
67
68
|
# File 'lib/archimate/data_model/diagram.rb', line 66
def all_nodes
nodes.inject(Array.new(nodes)) { |child_ary, child| child_ary.concat(child.all_nodes) }
end
|
#element_ids ⇒ Object
74
75
76
|
# File 'lib/archimate/data_model/diagram.rb', line 74
def element_ids
@element_ids ||= elements.map(&:id)
end
|
#elements ⇒ Object
70
71
72
|
# File 'lib/archimate/data_model/diagram.rb', line 70
def elements
@elements ||= all_nodes.map(&:element).compact
end
|
#referenced_identified_nodes ⇒ Object
94
95
96
97
98
99
|
# File 'lib/archimate/data_model/diagram.rb', line 94
def referenced_identified_nodes
(nodes + connections)
.map(&:referenced_identified_nodes)
.flatten
.uniq
end
|
#relationship_ids ⇒ Object
82
83
84
|
# File 'lib/archimate/data_model/diagram.rb', line 82
def relationship_ids
@relationship_ids ||= relationships.map(&:id)
end
|
#relationships ⇒ Object
78
79
80
|
# File 'lib/archimate/data_model/diagram.rb', line 78
def relationships
@relationships ||= connections.map(&:relationship).compact
end
|
#total_viewpoint? ⇒ Boolean
90
91
92
|
# File 'lib/archimate/data_model/diagram.rb', line 90
def total_viewpoint?
viewpoint_type.nil? || viewpoint_type.empty?
end
|