ea 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/TODO.complete/01-t-xref-parsing.md +1 -1
- data/TODO.complete/02-per-label-geometry.md +1 -1
- data/TODO.complete/03-object-properties-constraints.md +1 -1
- data/TODO.complete/04-operation-params.md +1 -1
- data/TODO.complete/05-pdata-flag-matrix.md +1 -1
- data/TODO.complete/06-emf-image-rendering.md +1 -1
- data/TODO.complete/07-auxiliary-tables.md +1 -1
- data/TODO.complete/10-mdg-stereotype-registry.md +1 -1
- data/TODO.complete/11-gml-xsd-generation.md +1 -1
- data/TODO.complete/13-shapescript-interpreter.md +12 -23
- data/TODO.complete/20-cli-diff.md +1 -1
- data/TODO.complete/21-cli-render.md +1 -1
- data/TODO.complete/22-cli-export.md +1 -1
- data/TODO.complete/23-cli-mdg.md +1 -1
- data/TODO.complete/30-headerlines-ocp-refactor.md +1 -1
- data/TODO.complete/32-spec-coverage.md +1 -1
- data/TODO.complete/33-blocked-parity-gaps.md +1 -1
- data/TODO.complete/36-stereotype-icon-wiring.md +1 -1
- data/TODO.complete/37-cli-lint.md +1 -1
- data/TODO.complete/38-cli-query.md +1 -1
- data/TODO.complete/39-cli-info.md +1 -1
- data/TODO.complete/40-ocl-evaluator.md +1 -1
- data/TODO.complete/41-round-trip-spec.md +1 -1
- data/TODO.complete/42-html-diff-report.md +1 -1
- data/TODO.complete/43-json-schema-export.md +1 -1
- data/TODO.complete/44-remaining-qea-tables.md +1 -1
- data/TODO.complete/45-shapescript-extensions.md +1 -1
- data/TODO.complete/46-xsd-consolidation.md +1 -1
- data/TODO.complete/47-headerlines-legacy-removal.md +1 -1
- data/TODO.complete/51-remove-respond-to.md +42 -15
- data/TODO.complete/52-xsd-decouple-fixtures.md +1 -1
- data/TODO.complete/54-wire-stereotype-icon-renderer.md +1 -1
- data/TODO.complete/55-wire-shapescript.md +1 -1
- data/TODO.complete/56-wire-emf-renderer.md +1 -1
- data/TODO.complete/57-wire-ocl-evaluator.md +1 -1
- data/TODO.complete/58-diff-modifications.md +1 -1
- data/TODO.complete/59-delete-toy-xmi-export.md +1 -1
- data/TODO.complete/60-curate-json-export.md +1 -1
- data/TODO.complete/61-plantuml-relationships.md +1 -1
- data/TODO.complete/62-changelog.md +1 -1
- data/TODO.complete/63-dependabot-fix.md +1 -1
- data/TODO.complete/64-qeatoxmi-connectors.md +9 -24
- data/TODO.complete/65-qeatoxmi-diagrams.md +9 -23
- data/TODO.complete/66-qeatoxmi-style-tags-docs.md +25 -18
- data/TODO.complete/67-ocl-collection-ops.md +12 -12
- data/TODO.complete/68-ocl-comparison-ops.md +16 -11
- data/TODO.complete/69-spec-new-models.md +13 -18
- data/TODO.complete/70-specs-for-all-models.md +21 -0
- data/TODO.complete/71-autoload-audit.md +26 -0
- data/TODO.complete/72-extension-serializer-ocp-naming.md +26 -0
- data/TODO.complete/73-ocl-validator-latent-bugs.md +50 -0
- data/TODO.complete/74-visibility-symbol-dry.md +39 -0
- data/TODO.complete/75-database-table-collection-registry.md +32 -0
- data/TODO.complete/76-stale-todo-cleanup.md +52 -0
- data/TODO.complete/77-eliminate-banned-patterns-from-specs.md +55 -0
- data/TODO.complete/78-mdg-stereotype-emission.md +66 -0
- data/TODO.complete/79-equivalence-fixes.md +57 -0
- data/TODO.complete/80-performance-extension-serializer-indexes.md +43 -0
- data/TODO.complete/81-dry-scope-guid-extraction.md +33 -0
- data/TODO.complete/82-public-send-audit-conclusion.md +25 -0
- data/TODO.complete/83-dry-shared-xml-escape-guid-format.md +52 -0
- data/TODO.complete/84-ocp-markers-shape-registry.md +54 -0
- data/TODO.complete/85-frozen-literal-rubocop-normalize-type-spec.md +38 -0
- data/TODO.complete/86-frozen-sweep-lint-query-specs.md +55 -0
- data/TODO.complete/STATUS.md +26 -5
- data/lib/ea/cli/app.rb +1 -0
- data/lib/ea/cli/command/export.rb +10 -1
- data/lib/ea/cli/command/mdg.rb +1 -10
- data/lib/ea/cli/command/render.rb +2 -1
- data/lib/ea/diff/html_reporter.rb +1 -5
- data/lib/ea/export/json/generator.rb +5 -6
- data/lib/ea/export/plantuml/generator.rb +5 -3
- data/lib/ea/guid_format.rb +91 -0
- data/lib/ea/mdg/document.rb +2 -1
- data/lib/ea/mdg/loader.rb +2 -1
- data/lib/ea/mdg/registry.rb +57 -2
- data/lib/ea/mdg/xml/applies_to.rb +1 -1
- data/lib/ea/mdg/xml/apply.rb +1 -1
- data/lib/ea/mdg/xml/content.rb +1 -1
- data/lib/ea/mdg/xml/documentation.rb +1 -1
- data/lib/ea/mdg/xml/stereotype.rb +1 -1
- data/lib/ea/mdg/xml/stereotypes.rb +1 -1
- data/lib/ea/mdg/xml/tag.rb +1 -1
- data/lib/ea/mdg/xml/tagged_values.rb +1 -1
- data/lib/ea/mdg/xml/technology.rb +1 -1
- data/lib/ea/mdg/xml/uml_profile.rb +1 -1
- data/lib/ea/mdg/xml/uml_profiles.rb +1 -1
- data/lib/ea/mdg/xml.rb +2 -1
- data/lib/ea/mdg.rb +2 -1
- data/lib/ea/model/ghost_label.rb +2 -1
- data/lib/ea/ocl/evaluator.rb +4 -2
- data/lib/ea/qea/database.rb +57 -2
- data/lib/ea/qea/factory/reference_resolver.rb +1 -1
- data/lib/ea/qea/models/ea_attribute.rb +1 -17
- data/lib/ea/qea/models/ea_connector.rb +3 -2
- data/lib/ea/qea/models/ea_object.rb +14 -9
- data/lib/ea/qea/models/ea_operation.rb +1 -17
- data/lib/ea/qea/models/ea_xref.rb +3 -0
- data/lib/ea/qea/models/scope_predicate.rb +29 -0
- data/lib/ea/qea/models.rb +1 -0
- data/lib/ea/qea/repositories/base_repository.rb +4 -1
- data/lib/ea/qea/validation/base_validator.rb +3 -48
- data/lib/ea/qea/validation/database/ocl_constraint_validator.rb +23 -13
- data/lib/ea/shapescript/renderer.rb +1 -3
- data/lib/ea/sources/qea/diagram_builder.rb +1 -0
- data/lib/ea/sources/qea/id_normalizer.rb +2 -2
- data/lib/ea/svg/ea_emitter/background.rb +2 -1
- data/lib/ea/svg/ea_emitter/element/attribute_line_builder.rb +1 -6
- data/lib/ea/svg/ea_emitter/element/operation_renderer.rb +2 -7
- data/lib/ea/svg/ea_emitter/elements.rb +1 -3
- data/lib/ea/svg/ea_emitter/ghost_labels.rb +2 -1
- data/lib/ea/svg/ea_emitter/label/end_label.rb +1 -6
- data/lib/ea/svg/ea_emitter/marker/package_import.rb +1 -1
- data/lib/ea/svg/ea_emitter/markers.rb +52 -23
- data/lib/ea/svg/ea_emitter/text_renderer.rb +1 -4
- data/lib/ea/svg/ea_emitter/visibility_symbol.rb +37 -0
- data/lib/ea/svg/ea_emitter.rb +1 -0
- data/lib/ea/svg/parity/source.rb +0 -2
- data/lib/ea/svg/parity/suite.rb +0 -1
- data/lib/ea/transformers/qea_to_xmi/cardinality.rb +40 -28
- data/lib/ea/transformers/qea_to_xmi/context.rb +35 -1
- data/lib/ea/transformers/qea_to_xmi/extension_serializer.rb +686 -0
- data/lib/ea/transformers/qea_to_xmi/guid_format.rb +5 -48
- data/lib/ea/transformers/qea_to_xmi/id_allocator.rb +55 -54
- data/lib/ea/transformers/qea_to_xmi/primitive_types.rb +105 -0
- data/lib/ea/transformers/qea_to_xmi/profile_serializer.rb +163 -0
- data/lib/ea/transformers/qea_to_xmi/run_state.rb +7 -6
- data/lib/ea/transformers/qea_to_xmi/transformer.rb +396 -185
- data/lib/ea/transformers/qea_to_xmi/visibility.rb +30 -19
- data/lib/ea/transformers/qea_to_xmi.rb +5 -2
- data/lib/ea/transformers.rb +7 -2
- data/lib/ea/validation.rb +1 -1
- data/lib/ea/version.rb +1 -1
- data/lib/ea/xmi/liquid_drops/attribute_drop.rb +12 -4
- data/lib/ea/xmi/liquid_drops/klass_drop.rb +1 -2
- data/lib/ea/xmi/lookup_service.rb +4 -0
- data/lib/ea/xmi/parser.rb +30 -1
- data/lib/ea/xml_escape.rb +21 -0
- data/lib/ea.rb +2 -0
- metadata +28 -11
- data/lutaml-uml-0.5.1.gem +0 -0
|
@@ -3,19 +3,16 @@
|
|
|
3
3
|
module Ea
|
|
4
4
|
module Transformers
|
|
5
5
|
module QeaToXmi
|
|
6
|
-
# Pure-function mapper from EA's
|
|
7
|
-
#
|
|
6
|
+
# Pure-function mapper from EA's scope/aggregation codes to UML
|
|
7
|
+
# visibility / aggregation wire strings.
|
|
8
8
|
#
|
|
9
|
-
#
|
|
10
|
-
# `t_operation.
|
|
9
|
+
# QEA databases store scope as text in `t_attribute.Scope`,
|
|
10
|
+
# `t_operation.Scope`, `t_object.Scope`: "Public", "Private",
|
|
11
|
+
# "Protected", "Package". The integer codes (0-3, same order) are
|
|
12
|
+
# kept as a fallback for EAP-era databases.
|
|
11
13
|
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
# 2 → Protected
|
|
15
|
-
# 3 → Package
|
|
16
|
-
#
|
|
17
|
-
# EA stores aggregation kind in `t_connector.sourcecontainment`
|
|
18
|
-
# and `t_connector.destcontainment`. The encoding:
|
|
14
|
+
# Aggregation kind comes from `t_connector.sourceisaggregate` /
|
|
15
|
+
# `destisaggregate` (via Transformer#containment_for). The encoding:
|
|
19
16
|
#
|
|
20
17
|
# 0 → None (omitted)
|
|
21
18
|
# 1 → Shared (UML aggregation="shared")
|
|
@@ -23,6 +20,13 @@ module Ea
|
|
|
23
20
|
#
|
|
24
21
|
# Wire-side values are lower-case per the UML XMI schema.
|
|
25
22
|
module Visibility
|
|
23
|
+
TEXT_SCOPES = {
|
|
24
|
+
"public" => "public",
|
|
25
|
+
"private" => "private",
|
|
26
|
+
"protected" => "protected",
|
|
27
|
+
"package" => "package",
|
|
28
|
+
}.freeze
|
|
29
|
+
|
|
26
30
|
SCOPE_MAP = {
|
|
27
31
|
0 => "public",
|
|
28
32
|
1 => "private",
|
|
@@ -39,13 +43,18 @@ module Ea
|
|
|
39
43
|
module_function
|
|
40
44
|
|
|
41
45
|
# @param raw [String, Integer, nil]
|
|
42
|
-
# @return [String, nil] UML visibility token
|
|
43
|
-
#
|
|
46
|
+
# @return [String, nil] UML visibility token. Returns nil for
|
|
47
|
+
# blank/unrecognised values AND for the UML default ("public")
|
|
48
|
+
# so the xmi gem omits the attribute — matching EA's output,
|
|
49
|
+
# which doesn't emit visibility="public".
|
|
44
50
|
def from_scope(raw)
|
|
45
|
-
|
|
51
|
+
text = raw.to_s.strip
|
|
52
|
+
return nil if text.empty?
|
|
46
53
|
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
value = TEXT_SCOPES[text.downcase] || SCOPE_MAP[text.to_i]
|
|
55
|
+
return nil if value == "public"
|
|
56
|
+
|
|
57
|
+
value
|
|
49
58
|
end
|
|
50
59
|
|
|
51
60
|
# @param raw [String, Integer, nil]
|
|
@@ -59,11 +68,13 @@ module Ea
|
|
|
59
68
|
end
|
|
60
69
|
|
|
61
70
|
# @param raw [String, Integer, nil] EA's abstract flag ("1"/"0")
|
|
62
|
-
# @return [Boolean, nil] true
|
|
63
|
-
#
|
|
64
|
-
#
|
|
71
|
+
# @return [Boolean, nil] true when EA marks the element abstract,
|
|
72
|
+
# nil when blank OR "0" (false). Returning nil for false makes
|
|
73
|
+
# the xmi gem omit isAbstract="false" — matching EA's output,
|
|
74
|
+
# which doesn't emit the default.
|
|
65
75
|
def boolean_from_flag(raw)
|
|
66
76
|
return nil if raw.nil? || raw.to_s.strip.empty?
|
|
77
|
+
return nil if raw.to_s == "0"
|
|
67
78
|
|
|
68
79
|
raw.to_s == "1"
|
|
69
80
|
end
|
|
@@ -22,8 +22,11 @@ module Ea
|
|
|
22
22
|
autoload :GuidFormat, "ea/transformers/qea_to_xmi/guid_format"
|
|
23
23
|
autoload :Cardinality, "ea/transformers/qea_to_xmi/cardinality"
|
|
24
24
|
autoload :Visibility, "ea/transformers/qea_to_xmi/visibility"
|
|
25
|
-
autoload :RunState,
|
|
26
|
-
autoload :AssociationEnd,
|
|
25
|
+
autoload :RunState, "ea/transformers/qea_to_xmi/run_state"
|
|
26
|
+
autoload :AssociationEnd, "ea/transformers/qea_to_xmi/association_end"
|
|
27
|
+
autoload :ExtensionSerializer, "ea/transformers/qea_to_xmi/extension_serializer"
|
|
28
|
+
autoload :PrimitiveTypes, "ea/transformers/qea_to_xmi/primitive_types"
|
|
29
|
+
autoload :ProfileSerializer, "ea/transformers/qea_to_xmi/profile_serializer"
|
|
27
30
|
end
|
|
28
31
|
end
|
|
29
32
|
end
|
data/lib/ea/transformers.rb
CHANGED
|
@@ -24,11 +24,16 @@ module Ea
|
|
|
24
24
|
# Walks the QEA tables directly — no intermediate UML model, no loss of
|
|
25
25
|
# Sparx-specific concepts (stereotypes, tagged values, multiplicities,
|
|
26
26
|
# diagrams, xrefs).
|
|
27
|
+
#
|
|
27
28
|
# @param database [Ea::Qea::Database]
|
|
28
29
|
# @param with_extensions [Boolean] emit EA-specific connectors+diagrams
|
|
30
|
+
# @param mdg_registry [Ea::Mdg::Registry, nil] when provided,
|
|
31
|
+
# stereotype definitions from registered MDG technologies are
|
|
32
|
+
# emitted as `<uml:Stereotype>` profile elements in the model
|
|
33
|
+
# tree. MDGs can be swapped in/out at runtime (OCP).
|
|
29
34
|
# @return [String] XMI XML
|
|
30
|
-
def qea_to_xmi(database, with_extensions: true)
|
|
31
|
-
QeaToXmi::Transformer.new(database).serialize(with_extensions: with_extensions)
|
|
35
|
+
def qea_to_xmi(database, with_extensions: true, mdg_registry: nil)
|
|
36
|
+
QeaToXmi::Transformer.new(database, mdg_registry: mdg_registry).serialize(with_extensions: with_extensions)
|
|
32
37
|
end
|
|
33
38
|
end
|
|
34
39
|
end
|
data/lib/ea/validation.rb
CHANGED
data/lib/ea/version.rb
CHANGED
|
@@ -35,11 +35,19 @@ module Ea
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def definition
|
|
38
|
-
if @options[:with_assoc] && @model.association
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
defn = if @options[:with_assoc] && @model.association
|
|
39
|
+
@lookup.lookup_assoc_def(@model.association)
|
|
40
|
+
else
|
|
41
|
+
@model.definition
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
if defn.nil? || defn.empty?
|
|
45
|
+
defn = @lookup.lookup_connector_def_by_associationclass(
|
|
46
|
+
@model.association,
|
|
47
|
+
)
|
|
42
48
|
end
|
|
49
|
+
|
|
50
|
+
defn
|
|
43
51
|
end
|
|
44
52
|
|
|
45
53
|
def association
|
|
@@ -101,8 +101,7 @@ module Ea
|
|
|
101
101
|
def attributes
|
|
102
102
|
Array(@model.attributes).filter_map do |owned_attr|
|
|
103
103
|
if @options[:with_assoc] || owned_attr.association.nil?
|
|
104
|
-
::Ea::Xmi::LiquidDrops::AttributeDrop.new(owned_attr,
|
|
105
|
-
@options)
|
|
104
|
+
::Ea::Xmi::LiquidDrops::AttributeDrop.new(owned_attr, @options)
|
|
106
105
|
end
|
|
107
106
|
end
|
|
108
107
|
end
|
|
@@ -37,6 +37,10 @@ module Ea
|
|
|
37
37
|
@parser.lookup_assoc_def(association)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
def lookup_connector_def_by_associationclass(xmi_id)
|
|
41
|
+
@parser.lookup_connector_def_by_associationclass(xmi_id)
|
|
42
|
+
end
|
|
43
|
+
|
|
40
44
|
def fetch_connector(link_id)
|
|
41
45
|
@parser.fetch_connector(link_id)
|
|
42
46
|
end
|
data/lib/ea/xmi/parser.rb
CHANGED
|
@@ -73,6 +73,10 @@ module Ea
|
|
|
73
73
|
xmi_index.find_connector(link_id)
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
+
def fetch_connector_by_associationclass(associationclass)
|
|
77
|
+
connector_by_associationclass_lookup[associationclass]
|
|
78
|
+
end
|
|
79
|
+
|
|
76
80
|
def fetch_definition_node_value(link_id, node_name)
|
|
77
81
|
connector_node = fetch_connector(link_id)
|
|
78
82
|
return nil unless connector_node
|
|
@@ -199,6 +203,11 @@ module Ea
|
|
|
199
203
|
connector&.documentation&.value
|
|
200
204
|
end
|
|
201
205
|
|
|
206
|
+
def lookup_connector_def_by_associationclass(association)
|
|
207
|
+
connector = fetch_connector_by_associationclass(association)
|
|
208
|
+
connector&.documentation&.value
|
|
209
|
+
end
|
|
210
|
+
|
|
202
211
|
def get_ns_by_xmi_id(xmi_id)
|
|
203
212
|
return unless xmi_id
|
|
204
213
|
|
|
@@ -703,7 +712,7 @@ module Ea
|
|
|
703
712
|
gen_attr.xmi_id = attr.xmi_id
|
|
704
713
|
gen_attr.is_derived = !!attr.is_derived
|
|
705
714
|
gen_attr.cardinality = attr.cardinality
|
|
706
|
-
gen_attr.definition = attr
|
|
715
|
+
gen_attr.definition = get_uml_general_attribute_definition(attr)
|
|
707
716
|
gen_attr.association = attr.association
|
|
708
717
|
gen_attr.has_association = !!attr.association
|
|
709
718
|
gen_attr.type_ns = attr.type_ns
|
|
@@ -711,6 +720,14 @@ module Ea
|
|
|
711
720
|
end
|
|
712
721
|
end
|
|
713
722
|
|
|
723
|
+
def get_uml_general_attribute_definition(attr)
|
|
724
|
+
return attr.definition&.strip unless attr.association
|
|
725
|
+
|
|
726
|
+
attr.definition&.strip ||
|
|
727
|
+
lookup_assoc_def(attr.association) ||
|
|
728
|
+
lookup_connector_def_by_associationclass(attr.association)
|
|
729
|
+
end
|
|
730
|
+
|
|
714
731
|
def set_uml_generalization(general_id)
|
|
715
732
|
uml_general_obj, next_general_node_id = get_uml_general(general_id)
|
|
716
733
|
|
|
@@ -924,6 +941,18 @@ module Ea
|
|
|
924
941
|
end
|
|
925
942
|
end
|
|
926
943
|
|
|
944
|
+
def connector_by_associationclass_lookup
|
|
945
|
+
@connector_by_associationclass_lookup ||= begin
|
|
946
|
+
lookup = {}
|
|
947
|
+
connectors = @xmi_root_model.extension&.connectors&.connector || []
|
|
948
|
+
connectors.each do |con|
|
|
949
|
+
assoc_class = con.extended_properties&.associationclass
|
|
950
|
+
lookup[assoc_class] = con if assoc_class
|
|
951
|
+
end
|
|
952
|
+
lookup
|
|
953
|
+
end
|
|
954
|
+
end
|
|
955
|
+
|
|
927
956
|
def index_connector_directions(con, lookup)
|
|
928
957
|
%i[source target].each do |dir|
|
|
929
958
|
idref = con.public_send(dir)&.idref
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ea
|
|
4
|
+
# Shared XML entity escaping. Centralised so the four subsystems
|
|
5
|
+
# that emit XML/XMI/SVG (Transformers, Diff, Shapescript, Svg)
|
|
6
|
+
# share one implementation instead of four local copies with
|
|
7
|
+
# subtle differences (quote-escaping was inconsistent).
|
|
8
|
+
module XmlEscape
|
|
9
|
+
module_function
|
|
10
|
+
|
|
11
|
+
# @param text [Object] value to escape; nil-safe via to_s
|
|
12
|
+
# @return [String] XML-escaped text with &, <, >, " replaced
|
|
13
|
+
def call(text)
|
|
14
|
+
text.to_s
|
|
15
|
+
.gsub("&", "&")
|
|
16
|
+
.gsub("<", "<")
|
|
17
|
+
.gsub(">", ">")
|
|
18
|
+
.gsub('"', """)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/ea.rb
CHANGED
|
@@ -30,6 +30,8 @@ module Ea
|
|
|
30
30
|
autoload :Query, "ea/query"
|
|
31
31
|
autoload :Ocl, "ea/ocl"
|
|
32
32
|
autoload :Validation, "ea/validation"
|
|
33
|
+
autoload :XmlEscape, "ea/xml_escape"
|
|
34
|
+
autoload :GuidFormat, "ea/guid_format"
|
|
33
35
|
|
|
34
36
|
class << self
|
|
35
37
|
# Parse an EA file into its native representation.
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ea
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|
|
@@ -72,20 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0.
|
|
76
|
-
- - ">="
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: 0.6.0
|
|
75
|
+
version: '0.7'
|
|
79
76
|
type: :runtime
|
|
80
77
|
prerelease: false
|
|
81
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
79
|
requirements:
|
|
83
80
|
- - "~>"
|
|
84
81
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '0.
|
|
86
|
-
- - ">="
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: 0.6.0
|
|
82
|
+
version: '0.7'
|
|
89
83
|
- !ruby/object:Gem::Dependency
|
|
90
84
|
name: nokogiri
|
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -242,6 +236,23 @@ files:
|
|
|
242
236
|
- TODO.complete/67-ocl-collection-ops.md
|
|
243
237
|
- TODO.complete/68-ocl-comparison-ops.md
|
|
244
238
|
- TODO.complete/69-spec-new-models.md
|
|
239
|
+
- TODO.complete/70-specs-for-all-models.md
|
|
240
|
+
- TODO.complete/71-autoload-audit.md
|
|
241
|
+
- TODO.complete/72-extension-serializer-ocp-naming.md
|
|
242
|
+
- TODO.complete/73-ocl-validator-latent-bugs.md
|
|
243
|
+
- TODO.complete/74-visibility-symbol-dry.md
|
|
244
|
+
- TODO.complete/75-database-table-collection-registry.md
|
|
245
|
+
- TODO.complete/76-stale-todo-cleanup.md
|
|
246
|
+
- TODO.complete/77-eliminate-banned-patterns-from-specs.md
|
|
247
|
+
- TODO.complete/78-mdg-stereotype-emission.md
|
|
248
|
+
- TODO.complete/79-equivalence-fixes.md
|
|
249
|
+
- TODO.complete/80-performance-extension-serializer-indexes.md
|
|
250
|
+
- TODO.complete/81-dry-scope-guid-extraction.md
|
|
251
|
+
- TODO.complete/82-public-send-audit-conclusion.md
|
|
252
|
+
- TODO.complete/83-dry-shared-xml-escape-guid-format.md
|
|
253
|
+
- TODO.complete/84-ocp-markers-shape-registry.md
|
|
254
|
+
- TODO.complete/85-frozen-literal-rubocop-normalize-type-spec.md
|
|
255
|
+
- TODO.complete/86-frozen-sweep-lint-query-specs.md
|
|
245
256
|
- TODO.complete/STATUS.md
|
|
246
257
|
- TODO.diagrams/01-svg-measurement-harness.md
|
|
247
258
|
- TODO.diagrams/01-xmi-extension-elements-parsing.md
|
|
@@ -609,6 +620,7 @@ files:
|
|
|
609
620
|
- lib/ea/export/xsd/class_mapping.rb
|
|
610
621
|
- lib/ea/export/xsd/generator.rb
|
|
611
622
|
- lib/ea/export/xsd/namespace_registry.rb
|
|
623
|
+
- lib/ea/guid_format.rb
|
|
612
624
|
- lib/ea/image.rb
|
|
613
625
|
- lib/ea/image/emf_renderer.rb
|
|
614
626
|
- lib/ea/lint.rb
|
|
@@ -757,6 +769,7 @@ files:
|
|
|
757
769
|
- lib/ea/qea/models/ea_tagged_value.rb
|
|
758
770
|
- lib/ea/qea/models/ea_version.rb
|
|
759
771
|
- lib/ea/qea/models/ea_xref.rb
|
|
772
|
+
- lib/ea/qea/models/scope_predicate.rb
|
|
760
773
|
- lib/ea/qea/repositories.rb
|
|
761
774
|
- lib/ea/qea/repositories/base_repository.rb
|
|
762
775
|
- lib/ea/qea/repositories/object_repository.rb
|
|
@@ -935,6 +948,7 @@ files:
|
|
|
935
948
|
- lib/ea/svg/ea_emitter/render_context.rb
|
|
936
949
|
- lib/ea/svg/ea_emitter/style.rb
|
|
937
950
|
- lib/ea/svg/ea_emitter/text_renderer.rb
|
|
951
|
+
- lib/ea/svg/ea_emitter/visibility_symbol.rb
|
|
938
952
|
- lib/ea/svg/parity.rb
|
|
939
953
|
- lib/ea/svg/parity/checker.rb
|
|
940
954
|
- lib/ea/svg/parity/source.rb
|
|
@@ -950,8 +964,11 @@ files:
|
|
|
950
964
|
- lib/ea/transformers/qea_to_xmi/association_end.rb
|
|
951
965
|
- lib/ea/transformers/qea_to_xmi/cardinality.rb
|
|
952
966
|
- lib/ea/transformers/qea_to_xmi/context.rb
|
|
967
|
+
- lib/ea/transformers/qea_to_xmi/extension_serializer.rb
|
|
953
968
|
- lib/ea/transformers/qea_to_xmi/guid_format.rb
|
|
954
969
|
- lib/ea/transformers/qea_to_xmi/id_allocator.rb
|
|
970
|
+
- lib/ea/transformers/qea_to_xmi/primitive_types.rb
|
|
971
|
+
- lib/ea/transformers/qea_to_xmi/profile_serializer.rb
|
|
955
972
|
- lib/ea/transformers/qea_to_xmi/run_state.rb
|
|
956
973
|
- lib/ea/transformers/qea_to_xmi/transformer.rb
|
|
957
974
|
- lib/ea/transformers/qea_to_xmi/visibility.rb
|
|
@@ -982,8 +999,8 @@ files:
|
|
|
982
999
|
- lib/ea/xmi/liquid_drops/source_target_drop.rb
|
|
983
1000
|
- lib/ea/xmi/lookup_service.rb
|
|
984
1001
|
- lib/ea/xmi/parser.rb
|
|
1002
|
+
- lib/ea/xml_escape.rb
|
|
985
1003
|
- lib/tasks/svg_bench.rake
|
|
986
|
-
- lutaml-uml-0.5.1.gem
|
|
987
1004
|
- reference-docs/enterprise-architect-appearance-dialogs/appearance-1-diagram-1-themes-list.png
|
|
988
1005
|
- reference-docs/enterprise-architect-appearance-dialogs/appearance-1-diagram-1-themes.png
|
|
989
1006
|
- reference-docs/enterprise-architect-appearance-dialogs/appearance-1-diagram-2-gradients.png
|
data/lutaml-uml-0.5.1.gem
DELETED
|
Binary file
|