lutaml 0.4.1 → 0.6.1
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/Gemfile +2 -0
- data/README.adoc +3 -1
- data/lib/lutaml/express/lutaml_path/document_wrapper.rb +1 -1
- data/lib/lutaml/lutaml_path/document_wrapper.rb +4 -3
- data/lib/lutaml/parser.rb +10 -2
- data/lib/lutaml/version.rb +1 -1
- data/lutaml.gemspec +3 -2
- metadata +24 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2798d99ace6b24bd0796035c70b8a9399a9677ec062b9e88d0d45efc03b71560
|
|
4
|
+
data.tar.gz: 904f3edd91cbaf215d3b86ec756cdfe7bcd8c5568decbe0cf363dbf743ccf796
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d5ea070108ac8730d34b073fc9b44bd5696cfef511f3b61da1bd258aca4796e3647f11b1c8489ad1f5c6d89f64ebc55927ad392cd8ff33a0c095d5d404c6da23
|
|
7
|
+
data.tar.gz: 619bf829a3c1b3939b84c083d9bfcaa43acec693d070a9ddbdc2370ea01f7427de1df8df1da23672676eae9670699aba6c6b891032f3df012b4049e83c0341ff
|
data/Gemfile
CHANGED
data/README.adoc
CHANGED
|
@@ -37,7 +37,9 @@ In order to parse files supported by lutaml extensions, use Lutaml::Parser.parse
|
|
|
37
37
|
[source,ruby]
|
|
38
38
|
----
|
|
39
39
|
# example.exp is an EXPRESS repository file
|
|
40
|
-
Lutaml::Parser.parse(File.new("example.exp")) # will produce Lutaml::LutamlPath::DocumentWrapper object with serialized express repository
|
|
40
|
+
Lutaml::Parser.parse([File.new("example.exp")]) # will produce Lutaml::LutamlPath::DocumentWrapper object with serialized express repository
|
|
41
|
+
# example.yaml is an EXPRESS cache file
|
|
42
|
+
Lutaml::Parser.parse([File.new("example.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
|
|
41
43
|
----
|
|
42
44
|
|
|
43
45
|
== With cli tool
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
module Lutaml
|
|
2
2
|
module LutamlPath
|
|
3
3
|
class DocumentWrapper
|
|
4
|
-
attr_reader :serialized_document
|
|
4
|
+
attr_reader :serialized_document, :original_document
|
|
5
5
|
|
|
6
6
|
def initialize(document)
|
|
7
|
+
@original_document = document
|
|
7
8
|
@serialized_document = serialize_document(document)
|
|
8
9
|
end
|
|
9
10
|
|
|
@@ -26,7 +27,7 @@ module Lutaml
|
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def serialize_to_hash(object)
|
|
29
|
-
return object if [String, Integer, Float, FalseClass, TrueClass, Symbol, NilClass].include?(object.class)
|
|
30
|
+
return object if [String, Integer, Float, FalseClass, TrueClass, Symbol, NilClass, Hash].include?(object.class)
|
|
30
31
|
|
|
31
32
|
object.instance_variables.each_with_object({}) do |var, res|
|
|
32
33
|
variable = object.instance_variable_get(var)
|
|
@@ -35,7 +36,7 @@ module Lutaml
|
|
|
35
36
|
serialize_to_hash(n)
|
|
36
37
|
end
|
|
37
38
|
else
|
|
38
|
-
if [String, Integer, Float, FalseClass, TrueClass, Symbol, NilClass].include?(variable.class) || var == :@parent
|
|
39
|
+
if [String, Integer, Float, FalseClass, TrueClass, Symbol, NilClass, Hash].include?(variable.class) || var == :@parent
|
|
39
40
|
variable
|
|
40
41
|
else
|
|
41
42
|
serialize_to_hash(variable)
|
data/lib/lutaml/parser.rb
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
require "lutaml/express"
|
|
2
2
|
require "lutaml/uml"
|
|
3
|
+
require "lutaml/xmi"
|
|
3
4
|
require "lutaml/uml/lutaml_path/document_wrapper"
|
|
4
5
|
require "lutaml/express/lutaml_path/document_wrapper"
|
|
6
|
+
require "expressir/express_exp/cache"
|
|
5
7
|
|
|
6
8
|
module Lutaml
|
|
7
9
|
class Parser
|
|
10
|
+
EXPRESS_CACHE_PARSE_TYPE = "exp.cache".freeze
|
|
11
|
+
|
|
8
12
|
attr_reader :parse_type, :file_list
|
|
9
13
|
|
|
10
14
|
class << self
|
|
@@ -26,7 +30,7 @@ module Lutaml
|
|
|
26
30
|
|
|
27
31
|
def parse
|
|
28
32
|
documents = parse_into_document
|
|
29
|
-
return
|
|
33
|
+
return document_wrapper(documents) if ["exp", EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
|
|
30
34
|
|
|
31
35
|
documents.map { |doc| document_wrapper(doc) }
|
|
32
36
|
end
|
|
@@ -35,6 +39,10 @@ module Lutaml
|
|
|
35
39
|
case parse_type
|
|
36
40
|
when "exp"
|
|
37
41
|
Expressir::ExpressExp::Parser.from_files(file_list.map(&:path))
|
|
42
|
+
when EXPRESS_CACHE_PARSE_TYPE
|
|
43
|
+
Expressir::ExpressExp::Cache.from_file(file_list.first.path)
|
|
44
|
+
when 'xmi'
|
|
45
|
+
file_list.map { |file| Lutaml::XMI::Parsers::XML.parse(file) }
|
|
38
46
|
when "lutaml"
|
|
39
47
|
file_list.map { |file| Lutaml::Uml::Parsers::Dsl.parse(file) }
|
|
40
48
|
when "yml"
|
|
@@ -47,7 +55,7 @@ module Lutaml
|
|
|
47
55
|
private
|
|
48
56
|
|
|
49
57
|
def document_wrapper(document)
|
|
50
|
-
if
|
|
58
|
+
if ["exp", EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
|
|
51
59
|
return Lutaml::Express::LutamlPath::DocumentWrapper.new(document)
|
|
52
60
|
end
|
|
53
61
|
|
data/lib/lutaml/version.rb
CHANGED
data/lutaml.gemspec
CHANGED
|
@@ -27,8 +27,9 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
28
28
|
spec.require_paths = ["lib"]
|
|
29
29
|
|
|
30
|
-
spec.add_runtime_dependency "lutaml-express"
|
|
31
|
-
spec.add_runtime_dependency "lutaml-uml"
|
|
30
|
+
spec.add_runtime_dependency "lutaml-express"
|
|
31
|
+
spec.add_runtime_dependency "lutaml-uml"
|
|
32
|
+
spec.add_runtime_dependency "lutaml-xmi"
|
|
32
33
|
spec.add_runtime_dependency "thor", "~> 1.0"
|
|
33
34
|
spec.add_development_dependency "nokogiri", "~> 1.10"
|
|
34
35
|
|
metadata
CHANGED
|
@@ -1,43 +1,57 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lutaml
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-03-
|
|
11
|
+
date: 2021-03-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-express
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: lutaml-uml
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0
|
|
33
|
+
version: '0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: lutaml-xmi
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: thor
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|