reqif 0.1.0 → 0.2.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/.github/workflows/release.yml +7 -4
- data/.rubocop.yml +17 -6
- data/.rubocop_todo.yml +241 -0
- data/CLAUDE.md +73 -0
- data/Gemfile +5 -2
- data/README.adoc +61 -1
- data/lib/reqif/alternative_id.rb +2 -2
- data/lib/reqif/attribute_definition_boolean.rb +5 -4
- data/lib/reqif/attribute_definition_date.rb +5 -4
- data/lib/reqif/attribute_definition_enumeration.rb +5 -4
- data/lib/reqif/attribute_definition_integer.rb +5 -4
- data/lib/reqif/attribute_definition_real.rb +5 -4
- data/lib/reqif/attribute_definition_string.rb +5 -4
- data/lib/reqif/attribute_definition_xhtml.rb +5 -4
- data/lib/reqif/attribute_value_boolean.rb +3 -2
- data/lib/reqif/attribute_value_date.rb +4 -3
- data/lib/reqif/attribute_value_enumeration.rb +3 -2
- data/lib/reqif/attribute_value_integer.rb +4 -3
- data/lib/reqif/attribute_value_real.rb +4 -3
- data/lib/reqif/attribute_value_string.rb +3 -2
- data/lib/reqif/attribute_value_xhtml.rb +3 -2
- data/lib/reqif/children.rb +3 -2
- data/lib/reqif/core_content.rb +3 -2
- data/lib/reqif/datatype_definition_boolean.rb +5 -4
- data/lib/reqif/datatype_definition_date.rb +5 -4
- data/lib/reqif/datatype_definition_enumeration.rb +5 -4
- data/lib/reqif/datatype_definition_integer.rb +7 -6
- data/lib/reqif/datatype_definition_real.rb +7 -6
- data/lib/reqif/datatype_definition_string.rb +5 -4
- data/lib/reqif/datatype_definition_xhtml.rb +5 -4
- data/lib/reqif/datatypes.rb +23 -12
- data/lib/reqif/default_value.rb +4 -3
- data/lib/reqif/definition.rb +24 -16
- data/lib/reqif/doors/identifier.rb +15 -0
- data/lib/reqif/doors/module_definition.rb +23 -0
- data/lib/reqif/doors/namespace.rb +10 -0
- data/lib/reqif/doors/readonly_attributes.rb +48 -0
- data/lib/reqif/doors/rif_definition.rb +26 -0
- data/lib/reqif/doors/string_type.rb +12 -0
- data/lib/reqif/doors.rb +12 -0
- data/lib/reqif/editable_atts.rb +24 -16
- data/lib/reqif/embedded_value.rb +4 -3
- data/lib/reqif/enum_value.rb +4 -4
- data/lib/reqif/high_precision_date_time.rb +52 -0
- data/lib/reqif/namespace.rb +16 -0
- data/lib/reqif/object.rb +3 -3
- data/lib/reqif/properties.rb +2 -2
- data/lib/reqif/relation_group.rb +5 -4
- data/lib/reqif/relation_group_type.rb +5 -4
- data/lib/reqif/req_if.rb +7 -2
- data/lib/reqif/req_if_content.rb +3 -2
- data/lib/reqif/req_if_header.rb +4 -5
- data/lib/reqif/req_if_tool_extension.rb +48 -2
- data/lib/reqif/reqif_float.rb +97 -0
- data/lib/reqif/reqif_integer.rb +36 -0
- data/lib/reqif/source.rb +3 -3
- data/lib/reqif/source_specification.rb +3 -3
- data/lib/reqif/spec_attributes.rb +25 -13
- data/lib/reqif/spec_hierarchy.rb +5 -4
- data/lib/reqif/spec_object.rb +5 -4
- data/lib/reqif/spec_object_type.rb +5 -4
- data/lib/reqif/spec_objects.rb +3 -2
- data/lib/reqif/spec_relation.rb +5 -4
- data/lib/reqif/spec_relation_groups.rb +2 -2
- data/lib/reqif/spec_relation_type.rb +5 -4
- data/lib/reqif/spec_relations.rb +3 -3
- data/lib/reqif/spec_types.rb +3 -2
- data/lib/reqif/specification.rb +5 -4
- data/lib/reqif/specification_type.rb +5 -4
- data/lib/reqif/specifications.rb +3 -2
- data/lib/reqif/specified_values.rb +2 -2
- data/lib/reqif/string_type.rb +7 -0
- data/lib/reqif/target.rb +3 -3
- data/lib/reqif/target_specification.rb +3 -3
- data/lib/reqif/the_header.rb +3 -2
- data/lib/reqif/tool_extensions.rb +2 -2
- data/lib/reqif/type.rb +28 -20
- data/lib/reqif/values.rb +8 -5
- data/lib/reqif/version.rb +1 -1
- data/lib/reqif/xhtml/div.rb +18 -0
- data/lib/reqif/xhtml/namespace.rb +10 -0
- data/lib/reqif/xhtml/p.rb +18 -0
- data/lib/reqif/xhtml/span.rb +18 -0
- data/lib/reqif/xhtml.rb +12 -0
- data/lib/reqif/xhtml_content.rb +182 -2
- data/lib/reqif.rb +70 -14
- data/references/driver.xsd +270 -270
- data/references/reqif.xsd +892 -892
- data/reqif.gemspec +4 -3
- data/spec/fixtures/antcc_MAG8000-LTE-FeatureSpecReqBL4.reqif +4299 -0
- data/spec/fixtures/ea_example.reqif.xml +236 -0
- data/spec/fixtures/eclipse_capella_Sample.xml +177 -0
- data/spec/fixtures/eclipse_capella_Sample1.xml +239 -0
- data/spec/fixtures/eclipse_capella_Sample2.xml +239 -0
- data/spec/fixtures/eclipse_capella_Sample3.xml +304 -0
- data/spec/fixtures/eclipse_capella_model1.xml +4080 -0
- data/spec/fixtures/eclipse_rmf_sample.reqif +96 -0
- data/spec/fixtures/eclipse_rmf_specRelationTest.reqif +110 -0
- data/spec/fixtures/polarion_export.xml +70 -0
- data/spec/fixtures/strictdoc_01_minimal_reqif_sample.reqif +4 -0
- data/spec/fixtures/strictdoc_02_read_reqif_input.reqif +3996 -0
- data/spec/fixtures/strictdoc_04_convert_reqif_to_json_sample1_polarion.reqif +197 -0
- data/spec/fixtures/strictdoc_04_convert_reqif_to_json_sample2_sdoc.reqif +451 -0
- data/spec/fixtures/strictdoc_04_convert_reqif_to_json_sample3_eclipse_rmf.reqif +334 -0
- data/spec/fixtures/strictdoc_04_convert_reqif_to_json_sample_polarion_reqifz.reqifz +0 -0
- data/spec/reqif/data_types_spec.rb +29 -0
- data/spec/reqif/polarion_export_spec.rb +22 -0
- data/spec/reqif/req_if_header_spec.rb +31 -0
- data/spec/reqif/req_if_spec.rb +43 -0
- data/spec/reqif/spec_objects_spec.rb +35 -0
- data/spec/reqif/spec_relations_spec.rb +33 -0
- data/spec/reqif/spec_types_spec.rb +40 -0
- data/spec/reqif/specifications_spec.rb +35 -0
- data/spec/reqif/tool_extension_spec.rb +27 -0
- data/spec/reqif_spec.rb +56 -0
- data/spec/spec_helper.rb +70 -0
- metadata +58 -11
|
@@ -2,12 +2,13 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class AttributeValueDate < Lutaml::Model::Serializable
|
|
5
|
-
attribute :the_value,
|
|
5
|
+
attribute :the_value, HighPrecisionDateTime
|
|
6
6
|
attribute :definition, Definition
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "ATTRIBUTE-VALUE-DATE"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_attribute "THE-VALUE", to: :the_value
|
|
13
14
|
map_element "DEFINITION", to: :definition
|
|
@@ -6,8 +6,9 @@ module Reqif
|
|
|
6
6
|
attribute :values, Values
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "ATTRIBUTE-VALUE-ENUMERATION"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_element "DEFINITION", to: :definition
|
|
13
14
|
map_element "VALUES", to: :values
|
|
@@ -2,12 +2,13 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class AttributeValueInteger < Lutaml::Model::Serializable
|
|
5
|
-
attribute :the_value,
|
|
5
|
+
attribute :the_value, ReqifInteger
|
|
6
6
|
attribute :definition, Definition
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "ATTRIBUTE-VALUE-INTEGER"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_attribute "THE-VALUE", to: :the_value
|
|
13
14
|
map_element "DEFINITION", to: :definition
|
|
@@ -2,12 +2,13 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class AttributeValueReal < Lutaml::Model::Serializable
|
|
5
|
-
attribute :the_value,
|
|
5
|
+
attribute :the_value, ReqifFloat
|
|
6
6
|
attribute :definition, Definition
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "ATTRIBUTE-VALUE-REAL"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_attribute "THE-VALUE", to: :the_value
|
|
13
14
|
map_element "DEFINITION", to: :definition
|
|
@@ -6,8 +6,9 @@ module Reqif
|
|
|
6
6
|
attribute :definition, Definition
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "ATTRIBUTE-VALUE-STRING"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_attribute "THE-VALUE", to: :the_value
|
|
13
14
|
map_element "DEFINITION", to: :definition
|
|
@@ -8,8 +8,9 @@ module Reqif
|
|
|
8
8
|
attribute :definition, Definition
|
|
9
9
|
|
|
10
10
|
xml do
|
|
11
|
-
|
|
12
|
-
namespace
|
|
11
|
+
element "ATTRIBUTE-VALUE-XHTML"
|
|
12
|
+
namespace Namespace
|
|
13
|
+
ordered
|
|
13
14
|
|
|
14
15
|
map_attribute "IS-SIMPLIFIED", to: :is_simplified
|
|
15
16
|
map_element "THE-VALUE", to: :the_value
|
data/lib/reqif/children.rb
CHANGED
|
@@ -5,8 +5,9 @@ module Reqif
|
|
|
5
5
|
attribute :spec_hierarchy, SpecHierarchy, collection: true
|
|
6
6
|
|
|
7
7
|
xml do
|
|
8
|
-
|
|
9
|
-
namespace
|
|
8
|
+
element "CHILDREN"
|
|
9
|
+
namespace Namespace
|
|
10
|
+
ordered
|
|
10
11
|
|
|
11
12
|
map_element "SPEC-HIERARCHY", to: :spec_hierarchy
|
|
12
13
|
end
|
data/lib/reqif/core_content.rb
CHANGED
|
@@ -5,8 +5,9 @@ module Reqif
|
|
|
5
5
|
attribute :req_if_content, ReqIfContent
|
|
6
6
|
|
|
7
7
|
xml do
|
|
8
|
-
|
|
9
|
-
namespace
|
|
8
|
+
element "CORE-CONTENT"
|
|
9
|
+
namespace Namespace
|
|
10
|
+
ordered
|
|
10
11
|
|
|
11
12
|
map_element "REQ-IF-CONTENT", to: :req_if_content
|
|
12
13
|
end
|
|
@@ -4,15 +4,16 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionBoolean < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
9
|
attribute :alternative_id, AlternativeId
|
|
10
10
|
|
|
11
11
|
xml do
|
|
12
|
-
|
|
13
|
-
namespace
|
|
12
|
+
element "DATATYPE-DEFINITION-BOOLEAN"
|
|
13
|
+
namespace Namespace
|
|
14
|
+
ordered
|
|
14
15
|
|
|
15
|
-
map_attribute "DESC", to: :desc
|
|
16
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
16
17
|
map_attribute "IDENTIFIER", to: :identifier
|
|
17
18
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
18
19
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -4,15 +4,16 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionDate < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
9
|
attribute :alternative_id, AlternativeId
|
|
10
10
|
|
|
11
11
|
xml do
|
|
12
|
-
|
|
13
|
-
namespace
|
|
12
|
+
element "DATATYPE-DEFINITION-DATE"
|
|
13
|
+
namespace Namespace
|
|
14
|
+
ordered
|
|
14
15
|
|
|
15
|
-
map_attribute "DESC", to: :desc
|
|
16
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
16
17
|
map_attribute "IDENTIFIER", to: :identifier
|
|
17
18
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
18
19
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -4,16 +4,17 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionEnumeration < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
9
|
attribute :alternative_id, AlternativeId
|
|
10
10
|
attribute :specified_values, SpecifiedValues
|
|
11
11
|
|
|
12
12
|
xml do
|
|
13
|
-
|
|
14
|
-
namespace
|
|
13
|
+
element "DATATYPE-DEFINITION-ENUMERATION"
|
|
14
|
+
namespace Namespace
|
|
15
|
+
ordered
|
|
15
16
|
|
|
16
|
-
map_attribute "DESC", to: :desc
|
|
17
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
17
18
|
map_attribute "IDENTIFIER", to: :identifier
|
|
18
19
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
19
20
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -4,17 +4,18 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionInteger < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
|
-
attribute :max,
|
|
10
|
-
attribute :min,
|
|
9
|
+
attribute :max, ReqifInteger
|
|
10
|
+
attribute :min, ReqifInteger
|
|
11
11
|
attribute :alternative_id, AlternativeId
|
|
12
12
|
|
|
13
13
|
xml do
|
|
14
|
-
|
|
15
|
-
namespace
|
|
14
|
+
element "DATATYPE-DEFINITION-INTEGER"
|
|
15
|
+
namespace Namespace
|
|
16
|
+
ordered
|
|
16
17
|
|
|
17
|
-
map_attribute "DESC", to: :desc
|
|
18
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
18
19
|
map_attribute "IDENTIFIER", to: :identifier
|
|
19
20
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
20
21
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -5,18 +5,19 @@ module Reqif
|
|
|
5
5
|
attribute :accuracy, :integer
|
|
6
6
|
attribute :desc, :string
|
|
7
7
|
attribute :identifier, :string
|
|
8
|
-
attribute :last_change,
|
|
8
|
+
attribute :last_change, HighPrecisionDateTime
|
|
9
9
|
attribute :long_name, :string
|
|
10
|
-
attribute :max,
|
|
11
|
-
attribute :min,
|
|
10
|
+
attribute :max, ReqifFloat
|
|
11
|
+
attribute :min, ReqifFloat
|
|
12
12
|
attribute :alternative_id, AlternativeId
|
|
13
13
|
|
|
14
14
|
xml do
|
|
15
|
-
|
|
16
|
-
namespace
|
|
15
|
+
element "DATATYPE-DEFINITION-REAL"
|
|
16
|
+
namespace Namespace
|
|
17
|
+
ordered
|
|
17
18
|
|
|
18
19
|
map_attribute "ACCURACY", to: :accuracy
|
|
19
|
-
map_attribute "DESC", to: :desc
|
|
20
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
20
21
|
map_attribute "IDENTIFIER", to: :identifier
|
|
21
22
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
22
23
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -4,16 +4,17 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionString < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
9
|
attribute :max_length, :integer
|
|
10
10
|
attribute :alternative_id, AlternativeId
|
|
11
11
|
|
|
12
12
|
xml do
|
|
13
|
-
|
|
14
|
-
namespace
|
|
13
|
+
element "DATATYPE-DEFINITION-STRING"
|
|
14
|
+
namespace Namespace
|
|
15
|
+
ordered
|
|
15
16
|
|
|
16
|
-
map_attribute "DESC", to: :desc
|
|
17
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
17
18
|
map_attribute "IDENTIFIER", to: :identifier
|
|
18
19
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
19
20
|
map_attribute "LONG-NAME", to: :long_name
|
|
@@ -4,15 +4,16 @@ module Reqif
|
|
|
4
4
|
class DatatypeDefinitionXhtml < Lutaml::Model::Serializable
|
|
5
5
|
attribute :desc, :string
|
|
6
6
|
attribute :identifier, :string
|
|
7
|
-
attribute :last_change,
|
|
7
|
+
attribute :last_change, HighPrecisionDateTime
|
|
8
8
|
attribute :long_name, :string
|
|
9
9
|
attribute :alternative_id, AlternativeId
|
|
10
10
|
|
|
11
11
|
xml do
|
|
12
|
-
|
|
13
|
-
namespace
|
|
12
|
+
element "DATATYPE-DEFINITION-XHTML"
|
|
13
|
+
namespace Namespace
|
|
14
|
+
ordered
|
|
14
15
|
|
|
15
|
-
map_attribute "DESC", to: :desc
|
|
16
|
+
map_attribute "DESC", to: :desc, render_empty: true
|
|
16
17
|
map_attribute "IDENTIFIER", to: :identifier
|
|
17
18
|
map_attribute "LAST-CHANGE", to: :last_change
|
|
18
19
|
map_attribute "LONG-NAME", to: :long_name
|
data/lib/reqif/datatypes.rb
CHANGED
|
@@ -2,22 +2,33 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class Datatypes < Lutaml::Model::Serializable
|
|
5
|
-
attribute :datatype_definition_boolean, DatatypeDefinitionBoolean,
|
|
6
|
-
|
|
7
|
-
attribute :
|
|
8
|
-
|
|
9
|
-
attribute :
|
|
10
|
-
|
|
11
|
-
attribute :
|
|
5
|
+
attribute :datatype_definition_boolean, DatatypeDefinitionBoolean,
|
|
6
|
+
collection: true
|
|
7
|
+
attribute :datatype_definition_date, DatatypeDefinitionDate,
|
|
8
|
+
collection: true
|
|
9
|
+
attribute :datatype_definition_enumeration, DatatypeDefinitionEnumeration,
|
|
10
|
+
collection: true
|
|
11
|
+
attribute :datatype_definition_integer, DatatypeDefinitionInteger,
|
|
12
|
+
collection: true
|
|
13
|
+
attribute :datatype_definition_real, DatatypeDefinitionReal,
|
|
14
|
+
collection: true
|
|
15
|
+
attribute :datatype_definition_string, DatatypeDefinitionString,
|
|
16
|
+
collection: true
|
|
17
|
+
attribute :datatype_definition_xhtml, DatatypeDefinitionXhtml,
|
|
18
|
+
collection: true
|
|
12
19
|
|
|
13
20
|
xml do
|
|
14
|
-
|
|
15
|
-
namespace
|
|
21
|
+
element "DATATYPES"
|
|
22
|
+
namespace Namespace
|
|
23
|
+
ordered
|
|
16
24
|
|
|
17
|
-
map_element "DATATYPE-DEFINITION-BOOLEAN",
|
|
25
|
+
map_element "DATATYPE-DEFINITION-BOOLEAN",
|
|
26
|
+
to: :datatype_definition_boolean
|
|
18
27
|
map_element "DATATYPE-DEFINITION-DATE", to: :datatype_definition_date
|
|
19
|
-
map_element "DATATYPE-DEFINITION-ENUMERATION",
|
|
20
|
-
|
|
28
|
+
map_element "DATATYPE-DEFINITION-ENUMERATION",
|
|
29
|
+
to: :datatype_definition_enumeration
|
|
30
|
+
map_element "DATATYPE-DEFINITION-INTEGER",
|
|
31
|
+
to: :datatype_definition_integer
|
|
21
32
|
map_element "DATATYPE-DEFINITION-REAL", to: :datatype_definition_real
|
|
22
33
|
map_element "DATATYPE-DEFINITION-STRING", to: :datatype_definition_string
|
|
23
34
|
map_element "DATATYPE-DEFINITION-XHTML", to: :datatype_definition_xhtml
|
data/lib/reqif/default_value.rb
CHANGED
|
@@ -11,13 +11,14 @@ module Reqif
|
|
|
11
11
|
attribute :attribute_value_xhtml, AttributeValueXhtml
|
|
12
12
|
|
|
13
13
|
xml do
|
|
14
|
-
|
|
15
|
-
namespace
|
|
14
|
+
element "DEFAULT-VALUE"
|
|
15
|
+
namespace Namespace
|
|
16
16
|
|
|
17
17
|
# TODO: Only one of these values can be active at the same time
|
|
18
18
|
map_element "ATTRIBUTE-VALUE-BOOLEAN", to: :attribute_value_boolean
|
|
19
19
|
map_element "ATTRIBUTE-VALUE-DATE", to: :attribute_value_date
|
|
20
|
-
map_element "ATTRIBUTE-VALUE-ENUMERATION",
|
|
20
|
+
map_element "ATTRIBUTE-VALUE-ENUMERATION",
|
|
21
|
+
to: :attribute_value_enumeration
|
|
21
22
|
map_element "ATTRIBUTE-VALUE-INTEGER", to: :attribute_value_integer
|
|
22
23
|
map_element "ATTRIBUTE-VALUE-REAL", to: :attribute_value_real
|
|
23
24
|
map_element "ATTRIBUTE-VALUE-STRING", to: :attribute_value_string
|
data/lib/reqif/definition.rb
CHANGED
|
@@ -2,26 +2,34 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class Definition < Lutaml::Model::Serializable
|
|
5
|
-
attribute :attribute_definition_boolean_ref,
|
|
6
|
-
attribute :attribute_definition_date_ref,
|
|
7
|
-
attribute :attribute_definition_enumeration_ref,
|
|
8
|
-
attribute :attribute_definition_integer_ref,
|
|
9
|
-
attribute :attribute_definition_real_ref,
|
|
10
|
-
attribute :attribute_definition_string_ref,
|
|
11
|
-
attribute :attribute_definition_xhtml_ref,
|
|
5
|
+
attribute :attribute_definition_boolean_ref, ::Reqif::StringType
|
|
6
|
+
attribute :attribute_definition_date_ref, ::Reqif::StringType
|
|
7
|
+
attribute :attribute_definition_enumeration_ref, ::Reqif::StringType
|
|
8
|
+
attribute :attribute_definition_integer_ref, ::Reqif::StringType
|
|
9
|
+
attribute :attribute_definition_real_ref, ::Reqif::StringType
|
|
10
|
+
attribute :attribute_definition_string_ref, ::Reqif::StringType
|
|
11
|
+
attribute :attribute_definition_xhtml_ref, ::Reqif::StringType
|
|
12
12
|
|
|
13
13
|
xml do
|
|
14
|
-
|
|
15
|
-
namespace
|
|
14
|
+
element "DEFINITION"
|
|
15
|
+
namespace Namespace
|
|
16
|
+
ordered
|
|
16
17
|
|
|
17
18
|
# TODO: Only one of these values can be active at the same time
|
|
18
|
-
map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF",
|
|
19
|
-
|
|
20
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
21
|
-
|
|
22
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
23
|
-
|
|
24
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
19
|
+
map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF",
|
|
20
|
+
to: :attribute_definition_boolean_ref
|
|
21
|
+
map_element "ATTRIBUTE-DEFINITION-DATE-REF",
|
|
22
|
+
to: :attribute_definition_date_ref
|
|
23
|
+
map_element "ATTRIBUTE-DEFINITION-ENUMERATION-REF",
|
|
24
|
+
to: :attribute_definition_enumeration_ref
|
|
25
|
+
map_element "ATTRIBUTE-DEFINITION-INTEGER-REF",
|
|
26
|
+
to: :attribute_definition_integer_ref
|
|
27
|
+
map_element "ATTRIBUTE-DEFINITION-REAL-REF",
|
|
28
|
+
to: :attribute_definition_real_ref
|
|
29
|
+
map_element "ATTRIBUTE-DEFINITION-STRING-REF",
|
|
30
|
+
to: :attribute_definition_string_ref
|
|
31
|
+
map_element "ATTRIBUTE-DEFINITION-XHTML-REF",
|
|
32
|
+
to: :attribute_definition_xhtml_ref
|
|
25
33
|
end
|
|
26
34
|
end
|
|
27
35
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require "lutaml/model"
|
|
2
|
+
|
|
3
|
+
module Reqif
|
|
4
|
+
module Doors
|
|
5
|
+
class ModuleDefinition < Lutaml::Model::Serializable
|
|
6
|
+
# <MODULE-DEFINITION>
|
|
7
|
+
# <DDC-MODE>DDC_FULL_MODULE</DDC-MODE>
|
|
8
|
+
# <SPECIFICATION-REF░xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">_3166b6de-d4b9-4334-a13f-a55792546604</SPECIFICATION-REF>
|
|
9
|
+
# </MODULE-DEFINITION>
|
|
10
|
+
|
|
11
|
+
attribute :ddc_mode, :string
|
|
12
|
+
attribute :specification_ref, ::Reqif::Doors::StringType
|
|
13
|
+
|
|
14
|
+
xml do
|
|
15
|
+
element "MODULE-DEFINITION"
|
|
16
|
+
namespace Namespace
|
|
17
|
+
|
|
18
|
+
map_element "DDC-MODE", to: :ddc_mode
|
|
19
|
+
map_element "SPECIFICATION-REF", to: :specification_ref
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require "lutaml/model"
|
|
2
|
+
|
|
3
|
+
module Reqif
|
|
4
|
+
module Doors
|
|
5
|
+
class ReadonlyAttributes < Lutaml::Model::Serializable
|
|
6
|
+
# <READONLY-ATTRIBUTES░xmlns="http://www.ibm.com/rdm/doors/REQIF/xmlns/1.0">
|
|
7
|
+
# <ATTRIBUTE-DEFINITION-STRING-REF░xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">rmf-0d13686b-83c4-487b-9bcc-2f11a673c97a</ATTRIBUTE-DEFINITION-STRING-REF>
|
|
8
|
+
# <ATTRIBUTE-DEFINITION-DATE-REF░xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">rmf-b5ff951b-70fc-440f-b775-cda530e97083</ATTRIBUTE-DEFINITION-DATE-REF>
|
|
9
|
+
# <ATTRIBUTE-DEFINITION-XHTML-REF░xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">rmf-0c2fc6c9-50e9-43ae-970b-c04ab506d834</ATTRIBUTE-DEFINITION-XHTML-REF>
|
|
10
|
+
|
|
11
|
+
attribute :attribute_definition_boolean_ref, ::Reqif::Doors::StringType,
|
|
12
|
+
collection: true
|
|
13
|
+
attribute :attribute_definition_date_ref, ::Reqif::Doors::StringType,
|
|
14
|
+
collection: true
|
|
15
|
+
attribute :attribute_definition_enumeration_ref,
|
|
16
|
+
::Reqif::Doors::StringType, collection: true
|
|
17
|
+
attribute :attribute_definition_integer_ref, ::Reqif::Doors::StringType,
|
|
18
|
+
collection: true
|
|
19
|
+
attribute :attribute_definition_real_ref, ::Reqif::Doors::StringType,
|
|
20
|
+
collection: true
|
|
21
|
+
attribute :attribute_definition_string_ref, ::Reqif::Doors::StringType,
|
|
22
|
+
collection: true
|
|
23
|
+
attribute :attribute_definition_xhtml_ref, ::Reqif::Doors::StringType,
|
|
24
|
+
collection: true
|
|
25
|
+
|
|
26
|
+
xml do
|
|
27
|
+
element "READONLY-ATTRIBUTES"
|
|
28
|
+
namespace ::Reqif::Doors::Namespace
|
|
29
|
+
ordered
|
|
30
|
+
|
|
31
|
+
map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF",
|
|
32
|
+
to: :attribute_definition_boolean_ref
|
|
33
|
+
map_element "ATTRIBUTE-DEFINITION-DATE-REF",
|
|
34
|
+
to: :attribute_definition_date_ref
|
|
35
|
+
map_element "ATTRIBUTE-DEFINITION-ENUMERATION-REF",
|
|
36
|
+
to: :attribute_definition_enumeration_ref
|
|
37
|
+
map_element "ATTRIBUTE-DEFINITION-INTEGER-REF",
|
|
38
|
+
to: :attribute_definition_integer_ref
|
|
39
|
+
map_element "ATTRIBUTE-DEFINITION-REAL-REF",
|
|
40
|
+
to: :attribute_definition_real_ref
|
|
41
|
+
map_element "ATTRIBUTE-DEFINITION-STRING-REF",
|
|
42
|
+
to: :attribute_definition_string_ref
|
|
43
|
+
map_element "ATTRIBUTE-DEFINITION-XHTML-REF",
|
|
44
|
+
to: :attribute_definition_xhtml_ref
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require "lutaml/model"
|
|
2
|
+
|
|
3
|
+
module Reqif
|
|
4
|
+
module Doors
|
|
5
|
+
class RifDefinition < Lutaml::Model::Serializable
|
|
6
|
+
# <DOORS-RIF-DEFINITION░xmlns="http://www.ibm.com/rdm/doors/REQIF/xmlns/1.0">
|
|
7
|
+
# <IDENTIFIER>_ae71eb64-2aa6-4780-9212-bda594614a7f</IDENTIFIER>
|
|
8
|
+
# <MODULE-DEFINITION>
|
|
9
|
+
# <DDC-MODE>DDC_FULL_MODULE</DDC-MODE>
|
|
10
|
+
# <SPECIFICATION-REF░xmlns="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">_3166b6de-d4b9-4334-a13f-a55792546604</SPECIFICATION-REF>
|
|
11
|
+
# </MODULE-DEFINITION>
|
|
12
|
+
# </DOORS-RIF-DEFINITION>
|
|
13
|
+
|
|
14
|
+
attribute :identifier, ::Reqif::Doors::Identifier
|
|
15
|
+
attribute :module_definition, ::Reqif::Doors::ModuleDefinition
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
element "DOORS-RIF-DEFINITION"
|
|
19
|
+
namespace ::Reqif::Doors::Namespace
|
|
20
|
+
|
|
21
|
+
map_element "IDENTIFIER", to: :identifier
|
|
22
|
+
map_element "MODULE-DEFINITION", to: :module_definition
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Reqif
|
|
2
|
+
module Doors
|
|
3
|
+
# String type that uses the ReqIF namespace, not Doors namespace.
|
|
4
|
+
# This is because elements like ATTRIBUTE-DEFINITION-*-REF inside
|
|
5
|
+
# Doors elements like READONLY-ATTRIBUTES still belong to the ReqIF namespace.
|
|
6
|
+
class StringType < Lutaml::Model::Type::String
|
|
7
|
+
xml do
|
|
8
|
+
namespace ::Reqif::Namespace
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
data/lib/reqif/doors.rb
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
require "lutaml/model"
|
|
2
|
+
|
|
3
|
+
module Reqif
|
|
4
|
+
module Doors
|
|
5
|
+
autoload :Namespace, "#{__dir__}/doors/namespace.rb"
|
|
6
|
+
autoload :Identifier, "#{__dir__}/doors/identifier.rb"
|
|
7
|
+
autoload :ModuleDefinition, "#{__dir__}/doors/module_definition.rb"
|
|
8
|
+
autoload :RifDefinition, "#{__dir__}/doors/rif_definition.rb"
|
|
9
|
+
autoload :ReadonlyAttributes, "#{__dir__}/doors/readonly_attributes.rb"
|
|
10
|
+
autoload :StringType, "#{__dir__}/doors/string_type.rb"
|
|
11
|
+
end
|
|
12
|
+
end
|
data/lib/reqif/editable_atts.rb
CHANGED
|
@@ -2,25 +2,33 @@ require "lutaml/model"
|
|
|
2
2
|
|
|
3
3
|
module Reqif
|
|
4
4
|
class EditableAtts < Lutaml::Model::Serializable
|
|
5
|
-
attribute :attribute_definition_boolean_ref,
|
|
6
|
-
attribute :attribute_definition_date_ref,
|
|
7
|
-
attribute :attribute_definition_enumeration_ref,
|
|
8
|
-
|
|
9
|
-
attribute :
|
|
10
|
-
attribute :
|
|
11
|
-
attribute :
|
|
5
|
+
attribute :attribute_definition_boolean_ref, StringType, collection: true
|
|
6
|
+
attribute :attribute_definition_date_ref, StringType, collection: true
|
|
7
|
+
attribute :attribute_definition_enumeration_ref, StringType,
|
|
8
|
+
collection: true
|
|
9
|
+
attribute :attribute_definition_integer_ref, StringType, collection: true
|
|
10
|
+
attribute :attribute_definition_real_ref, StringType, collection: true
|
|
11
|
+
attribute :attribute_definition_string_ref, StringType, collection: true
|
|
12
|
+
attribute :attribute_definition_xhtml_ref, StringType, collection: true
|
|
12
13
|
|
|
13
14
|
xml do
|
|
14
|
-
|
|
15
|
-
namespace
|
|
15
|
+
element "EDITABLE-ATTS"
|
|
16
|
+
namespace Namespace
|
|
16
17
|
|
|
17
|
-
map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF",
|
|
18
|
-
|
|
19
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
20
|
-
|
|
21
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
22
|
-
|
|
23
|
-
map_element "ATTRIBUTE-DEFINITION-
|
|
18
|
+
map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF",
|
|
19
|
+
to: :attribute_definition_boolean_ref
|
|
20
|
+
map_element "ATTRIBUTE-DEFINITION-DATE-REF",
|
|
21
|
+
to: :attribute_definition_date_ref
|
|
22
|
+
map_element "ATTRIBUTE-DEFINITION-ENUMERATION-REF",
|
|
23
|
+
to: :attribute_definition_enumeration_ref
|
|
24
|
+
map_element "ATTRIBUTE-DEFINITION-INTEGER-REF",
|
|
25
|
+
to: :attribute_definition_integer_ref
|
|
26
|
+
map_element "ATTRIBUTE-DEFINITION-REAL-REF",
|
|
27
|
+
to: :attribute_definition_real_ref
|
|
28
|
+
map_element "ATTRIBUTE-DEFINITION-STRING-REF",
|
|
29
|
+
to: :attribute_definition_string_ref
|
|
30
|
+
map_element "ATTRIBUTE-DEFINITION-XHTML-REF",
|
|
31
|
+
to: :attribute_definition_xhtml_ref
|
|
24
32
|
end
|
|
25
33
|
end
|
|
26
34
|
end
|
data/lib/reqif/embedded_value.rb
CHANGED
|
@@ -6,11 +6,12 @@ module Reqif
|
|
|
6
6
|
attribute :other_content, :string
|
|
7
7
|
|
|
8
8
|
xml do
|
|
9
|
-
|
|
10
|
-
namespace
|
|
9
|
+
element "EMBEDDED-VALUE"
|
|
10
|
+
namespace Namespace
|
|
11
|
+
ordered
|
|
11
12
|
|
|
12
13
|
map_attribute "KEY", to: :key
|
|
13
|
-
map_attribute "OTHER-CONTENT", to: :other_content
|
|
14
|
+
map_attribute "OTHER-CONTENT", to: :other_content, render_empty: true
|
|
14
15
|
end
|
|
15
16
|
end
|
|
16
17
|
end
|