lutaml-uml 0.2.3 → 0.2.8
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/windows.yml +9 -2
- data/LUTAML.adoc +31 -6
- data/bin/plantuml2lutaml +13 -13
- data/bin/yaml2lutaml +39 -3
- data/lib/lutaml/uml/data_type.rb +5 -2
- data/lib/lutaml/uml/enum.rb +8 -5
- data/lib/lutaml/uml/parsers/dsl.rb +29 -5
- data/lib/lutaml/uml/parsers/dsl_preprocessor.rb +1 -1
- data/lib/lutaml/uml/primitive_type.rb +5 -2
- data/lib/lutaml/uml/top_element.rb +11 -0
- data/lib/lutaml/uml/top_element_attribute.rb +11 -0
- data/lib/lutaml/uml/version.rb +1 -1
- data/lutaml-uml.gemspec +2 -3
- data/spec/fixtures/dsl/diagram_definitions.lutaml +25 -0
- data/spec/lutaml/uml/parsers/dsl_spec.rb +25 -1
- metadata +28 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef28b2562bcae4b385b3be898a71d6c326c59d5167c94ee1231932df060d5eee
|
4
|
+
data.tar.gz: 39519359dc16f9532379b5ce15aef7e8ed6d37a1ae5afa2e22253c025505d0ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b2464f9bc2d0f95a3baf5025ca2853537e6abd175a62be6f4f427e7f5f3e13f75f7ec9d2f7c9a675bd17be67b913da3a0b690c806e63a12f0633187471a6ec6
|
7
|
+
data.tar.gz: 72a944718bd7c57c8146197f10810b40a4026cf71150f65b0ce7c17158bf046815ce71da1845c8b9d6d720521fa693fb006a50c8e02fac31b44ad8ae2b521fc3
|
@@ -36,9 +36,16 @@ jobs:
|
|
36
36
|
gem install bundler
|
37
37
|
bundle config --local path vendor/bundle
|
38
38
|
bundle install --jobs 4 --retry 3
|
39
|
-
- name: Install
|
39
|
+
- name: Install graphviz
|
40
|
+
uses: nick-invision/retry@v1
|
41
|
+
with:
|
42
|
+
polling_interval_seconds: 5
|
43
|
+
timeout_minutes: 5
|
44
|
+
max_attempts: 3
|
45
|
+
command: choco install --no-progress graphviz --version 2.38.0.20190211
|
46
|
+
- name: Check dot command
|
40
47
|
run: |
|
41
|
-
|
48
|
+
dot -?
|
42
49
|
- name: Run specs
|
43
50
|
run: |
|
44
51
|
bundle exec rake
|
data/LUTAML.adoc
CHANGED
@@ -110,6 +110,20 @@ class Relationship {
|
|
110
110
|
class Element {}
|
111
111
|
----
|
112
112
|
|
113
|
+
== Class' multiline "definition" property
|
114
|
+
|
115
|
+
=== Definition
|
116
|
+
|
117
|
+
Full syntax:
|
118
|
+
|
119
|
+
[source,java]
|
120
|
+
----
|
121
|
+
definition {
|
122
|
+
inner text
|
123
|
+
}
|
124
|
+
----
|
125
|
+
|
126
|
+
|
113
127
|
== Attributes/entries
|
114
128
|
|
115
129
|
=== Definition
|
@@ -118,7 +132,7 @@ Full syntax:
|
|
118
132
|
|
119
133
|
[source,java]
|
120
134
|
----
|
121
|
-
[visibility][/][attribute] name [:type][multiplicity][=initial value][{
|
135
|
+
[visibility][/][attribute] name [:type][multiplicity][=initial value][{attribute body}]
|
122
136
|
----
|
123
137
|
|
124
138
|
where:
|
@@ -128,11 +142,7 @@ where:
|
|
128
142
|
* `/` - symbolizes a derived attribute.
|
129
143
|
* `multiplicity` - Multiplicity is in square brackets (e.g. [1..*]).
|
130
144
|
* `initial value` - Default value specifies the initial value of the attribute.
|
131
|
-
* `
|
132
|
-
** {readonly}: the property can be read but not changed.
|
133
|
-
** {union}: the property is a union of subsets.
|
134
|
-
** {subsets <property>}: the property is a subset of <property>.
|
135
|
-
** {redefines <property>}: the property is a new definition of <property> (overwritten by inheritance).
|
145
|
+
* `{attribute body}` - Body of attribute, additional properties for attribute
|
136
146
|
|
137
147
|
|
138
148
|
One can use explicit or implicit syntax for attribute definition
|
@@ -186,6 +196,21 @@ class Figure {
|
|
186
196
|
}
|
187
197
|
----
|
188
198
|
|
199
|
+
=== Additional attribute' properties
|
200
|
+
|
201
|
+
example:
|
202
|
+
|
203
|
+
[source,java]
|
204
|
+
----
|
205
|
+
class Figure {
|
206
|
+
+ radius {
|
207
|
+
definition {
|
208
|
+
Radius of the Figure
|
209
|
+
}
|
210
|
+
}
|
211
|
+
}
|
212
|
+
----
|
213
|
+
|
189
214
|
== Methods
|
190
215
|
|
191
216
|
Syntax for defining methods:
|
data/bin/plantuml2lutaml
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# Usage: bin/plantuml2lutaml /path/to/plantuml.wsd
|
7
7
|
|
8
8
|
file_path = ARGV[0]
|
9
|
-
FILE_NAME = File.basename(file_path,
|
9
|
+
FILE_NAME = File.basename(file_path, ".wsd")
|
10
10
|
wsd_file = File.new(ARGV[0])
|
11
11
|
|
12
12
|
def sync_puts(line, level = 0)
|
@@ -18,36 +18,36 @@ SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|\!|'\/)/
|
|
18
18
|
COMMENT_START = /\/'/
|
19
19
|
COMMENT_END = /'\//
|
20
20
|
ASSOCIATION_MAPPINGS = {
|
21
|
-
/-\|>/ =>
|
22
|
-
/<\|-/ =>
|
23
|
-
/->/ =>
|
24
|
-
/<-/ =>
|
25
|
-
}
|
21
|
+
/-\|>/ => ",inheritance",
|
22
|
+
/<\|-/ => "inheritance,",
|
23
|
+
/->/ => ",direct",
|
24
|
+
/<-/ => "direct,",
|
25
|
+
}.freeze
|
26
26
|
|
27
27
|
in_comment_block = false
|
28
28
|
|
29
29
|
def transform_line(line)
|
30
30
|
return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? { |key| line =~ key }
|
31
31
|
|
32
|
-
owner_type, member_type = ASSOCIATION_MAPPINGS.
|
33
|
-
blocks = line.split(
|
32
|
+
owner_type, member_type = ASSOCIATION_MAPPINGS.detect { |(key, _value)| line =~ key }.last.split(",")
|
33
|
+
blocks = line.split(" ")
|
34
34
|
owner = blocks.first
|
35
35
|
member = blocks.last
|
36
36
|
sync_puts("association {", 2)
|
37
37
|
sync_puts("owner #{owner}", 4)
|
38
38
|
sync_puts("member #{member}", 4)
|
39
|
-
sync_puts("owner_type #{owner_type}", 4) if owner_type.to_s.
|
40
|
-
sync_puts("member_type #{member_type}", 4) if member_type.to_s.
|
39
|
+
sync_puts("owner_type #{owner_type}", 4) if !owner_type.to_s.empty?
|
40
|
+
sync_puts("member_type #{member_type}", 4) if !member_type.to_s.empty?
|
41
41
|
sync_puts("}", 2)
|
42
42
|
end
|
43
43
|
|
44
44
|
sync_puts("diagram #{FILE_NAME} {")
|
45
45
|
wsd_file.readlines.each do |line|
|
46
|
-
if line
|
46
|
+
if line.match?(COMMENT_START)
|
47
47
|
in_comment_block = true
|
48
48
|
end
|
49
49
|
|
50
|
-
if line
|
50
|
+
if line.match?(COMMENT_END)
|
51
51
|
in_comment_block = false
|
52
52
|
end
|
53
53
|
|
@@ -55,4 +55,4 @@ wsd_file.readlines.each do |line|
|
|
55
55
|
|
56
56
|
transform_line(line)
|
57
57
|
end
|
58
|
-
sync_puts("}")
|
58
|
+
sync_puts("}")
|
data/bin/yaml2lutaml
CHANGED
@@ -75,6 +75,7 @@ def process_association(owner, values, encountered_relations)
|
|
75
75
|
end
|
76
76
|
sync_puts("diagram #{File.basename(ARGV[0], 'yml')[0..-2]} {")
|
77
77
|
sync_puts("title '#{view_yaml['title']}'", 2)
|
78
|
+
sync_puts("caption '#{view_yaml['caption']}'", 2)
|
78
79
|
|
79
80
|
# Class associations notations
|
80
81
|
view_yaml["relations"]&.each do |values|
|
@@ -83,20 +84,55 @@ end
|
|
83
84
|
|
84
85
|
view_yaml["imports"].keys.each do |entry|
|
85
86
|
import = YAML.safe_load(File.read(File.join(models_path, "#{entry}.yml")))
|
86
|
-
import_name = import["name"] ||
|
87
|
+
import_name = import["name"] || File.basename(entry)
|
87
88
|
# Class notation
|
88
89
|
sync_puts("#{import['modelType']} #{import_name} {", 2)
|
90
|
+
if import["definition"]
|
91
|
+
definition = <<~TEXT
|
92
|
+
definition {
|
93
|
+
#{import['definition']}
|
94
|
+
}
|
95
|
+
TEXT
|
96
|
+
sync_puts(definition, 4)
|
97
|
+
end
|
89
98
|
import["values"]&.each_pair do |key, values|
|
90
|
-
|
99
|
+
result_string = key
|
100
|
+
if values["definition"]
|
101
|
+
result_string += <<~TEXT
|
102
|
+
{
|
103
|
+
definition {
|
104
|
+
#{values['definition']}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
TEXT
|
108
|
+
end
|
109
|
+
sync_puts(result_string, 4)
|
91
110
|
end
|
92
111
|
import["attributes"]&.each_pair do |key, values|
|
112
|
+
definition = values["definition"]
|
93
113
|
cardinality = if values["cardinality"]
|
94
114
|
cardinality_val = values["cardinality"]
|
95
115
|
"[#{cardinality_val['min']}..#{cardinality_val['max']}]"
|
96
116
|
else
|
97
117
|
""
|
98
118
|
end
|
99
|
-
|
119
|
+
result_string = "+#{key}"
|
120
|
+
if values["type"]
|
121
|
+
result_string += ": #{values['type']}"
|
122
|
+
end
|
123
|
+
if cardinality
|
124
|
+
result_string += " #{cardinality}"
|
125
|
+
end
|
126
|
+
if definition
|
127
|
+
result_string += <<~TEXT
|
128
|
+
{
|
129
|
+
definition
|
130
|
+
#{definition}
|
131
|
+
end definition
|
132
|
+
}
|
133
|
+
TEXT
|
134
|
+
end
|
135
|
+
sync_puts(result_string, 4)
|
100
136
|
end
|
101
137
|
sync_puts("}", 2)
|
102
138
|
|
data/lib/lutaml/uml/data_type.rb
CHANGED
data/lib/lutaml/uml/enum.rb
CHANGED
@@ -12,7 +12,14 @@ module Lutaml
|
|
12
12
|
|
13
13
|
attr_reader :attributes,
|
14
14
|
:members,
|
15
|
-
:modifier
|
15
|
+
:modifier,
|
16
|
+
:definition,
|
17
|
+
:keyword
|
18
|
+
|
19
|
+
def initialize(attributes = {})
|
20
|
+
super
|
21
|
+
@keyword = "enumeration"
|
22
|
+
end
|
16
23
|
|
17
24
|
def attributes=(value)
|
18
25
|
@attributes = value.to_a.map do |attr|
|
@@ -24,10 +31,6 @@ module Lutaml
|
|
24
31
|
def methods
|
25
32
|
[]
|
26
33
|
end
|
27
|
-
|
28
|
-
def keyword
|
29
|
-
"enumeration"
|
30
|
-
end
|
31
34
|
end
|
32
35
|
end
|
33
36
|
end
|
@@ -53,6 +53,7 @@ module Lutaml
|
|
53
53
|
realizes
|
54
54
|
static
|
55
55
|
title
|
56
|
+
caption
|
56
57
|
].freeze
|
57
58
|
|
58
59
|
KEYWORDS.each do |keyword|
|
@@ -81,9 +82,9 @@ module Lutaml
|
|
81
82
|
str(")")).maybe
|
82
83
|
end
|
83
84
|
rule(:cardinality_body_definition) do
|
84
|
-
match['0-9\*'].as(
|
85
|
+
match['0-9\*'].as('min') >>
|
85
86
|
str("..").maybe >>
|
86
|
-
match['0-9\*'].as(
|
87
|
+
match['0-9\*'].as('max').maybe
|
87
88
|
end
|
88
89
|
rule(:cardinality) do
|
89
90
|
str("[") >>
|
@@ -132,7 +133,8 @@ module Lutaml
|
|
132
133
|
attribute_name >>
|
133
134
|
match['"\''].maybe >>
|
134
135
|
attribute_type? >>
|
135
|
-
cardinality?
|
136
|
+
cardinality? >>
|
137
|
+
class_body?)
|
136
138
|
.as(:attributes)
|
137
139
|
end
|
138
140
|
|
@@ -143,6 +145,13 @@ module Lutaml
|
|
143
145
|
match['"\''].maybe
|
144
146
|
end
|
145
147
|
rule(:title_definition) { title_keyword >> title_text }
|
148
|
+
rule(:caption_keyword) { kw_caption >> spaces }
|
149
|
+
rule(:caption_text) do
|
150
|
+
match['"\''].maybe >>
|
151
|
+
match['a-zA-Z0-9_\- '].repeat(1).as(:caption) >>
|
152
|
+
match['"\''].maybe
|
153
|
+
end
|
154
|
+
rule(:caption_definition) { caption_keyword >> caption_text }
|
146
155
|
|
147
156
|
rule(:fontname_keyword) { kw_fontname >> spaces }
|
148
157
|
rule(:fontname_text) do
|
@@ -252,7 +261,8 @@ module Lutaml
|
|
252
261
|
end
|
253
262
|
rule(:class_keyword) { kw_class >> spaces }
|
254
263
|
rule(:class_inner_definitions) do
|
255
|
-
|
264
|
+
definition_body |
|
265
|
+
attribute_definition |
|
256
266
|
comment_definition |
|
257
267
|
comment_multiline_definition
|
258
268
|
end
|
@@ -276,10 +286,23 @@ module Lutaml
|
|
276
286
|
class_body?
|
277
287
|
end
|
278
288
|
|
289
|
+
# -- Definition
|
290
|
+
rule(:definition_body) do
|
291
|
+
spaces? >>
|
292
|
+
str("definition") >>
|
293
|
+
whitespace? >>
|
294
|
+
str("{") >>
|
295
|
+
whitespace? >>
|
296
|
+
(match("[\n\s]}").absent? >> any).repeat.as(:definition) >>
|
297
|
+
whitespace? >>
|
298
|
+
str('}')
|
299
|
+
end
|
300
|
+
|
279
301
|
# -- Enum
|
280
302
|
rule(:enum_keyword) { kw_enum >> spaces }
|
281
303
|
rule(:enum_inner_definitions) do
|
282
|
-
|
304
|
+
definition_body |
|
305
|
+
attribute_definition |
|
283
306
|
comment_definition |
|
284
307
|
comment_multiline_definition
|
285
308
|
end
|
@@ -339,6 +362,7 @@ module Lutaml
|
|
339
362
|
rule(:diagram_keyword) { kw_diagram >> spaces? }
|
340
363
|
rule(:diagram_inner_definitions) do
|
341
364
|
title_definition |
|
365
|
+
caption_definition |
|
342
366
|
fontname_definition |
|
343
367
|
class_definition.as(:classes) |
|
344
368
|
enum_definition.as(:enums) |
|
@@ -27,7 +27,7 @@ module Lutaml
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def process_include_line(include_root, line)
|
30
|
-
include_path_match = line.match(
|
30
|
+
include_path_match = line.match(/^\s*include\s+(.+)/)
|
31
31
|
return line if include_path_match.nil?
|
32
32
|
|
33
33
|
path_to_file = include_path_match[1].strip
|
@@ -6,6 +6,7 @@ module Lutaml
|
|
6
6
|
include HasAttributes
|
7
7
|
|
8
8
|
attr_accessor :name,
|
9
|
+
:definition,
|
9
10
|
:xmi_id,
|
10
11
|
:xmi_uuid,
|
11
12
|
:namespace,
|
@@ -42,6 +43,16 @@ module Lutaml
|
|
42
43
|
|
43
44
|
the_name
|
44
45
|
end
|
46
|
+
|
47
|
+
def definition=(value)
|
48
|
+
@definition = value
|
49
|
+
.to_s
|
50
|
+
.gsub(/\\}/, '}')
|
51
|
+
.gsub(/\\{/, '{')
|
52
|
+
.split("\n")
|
53
|
+
.map(&:strip)
|
54
|
+
.join("\n")
|
55
|
+
end
|
45
56
|
end
|
46
57
|
end
|
47
58
|
end
|
@@ -4,6 +4,7 @@ module Lutaml
|
|
4
4
|
module Uml
|
5
5
|
class TopElementAttribute
|
6
6
|
include HasAttributes
|
7
|
+
include HasMembers
|
7
8
|
|
8
9
|
attr_accessor :name,
|
9
10
|
:visibility,
|
@@ -20,6 +21,16 @@ module Lutaml
|
|
20
21
|
update_attributes(attributes)
|
21
22
|
end
|
22
23
|
# rubocop:enable Rails/ActiveRecordAliases
|
24
|
+
|
25
|
+
def definition=(value)
|
26
|
+
@definition = value
|
27
|
+
.to_s
|
28
|
+
.gsub(/\\}/, '}')
|
29
|
+
.gsub(/\\{/, '{')
|
30
|
+
.split("\n")
|
31
|
+
.map(&:strip)
|
32
|
+
.join("\n")
|
33
|
+
end
|
23
34
|
end
|
24
35
|
end
|
25
36
|
end
|
data/lib/lutaml/uml/version.rb
CHANGED
data/lutaml-uml.gemspec
CHANGED
@@ -24,17 +24,16 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
spec.executables = %w[lutaml-uml]
|
26
26
|
|
27
|
-
spec.add_runtime_dependency "activesupport", "~> 5.0"
|
28
27
|
spec.add_runtime_dependency "hashie", "~> 4.1.0"
|
29
28
|
spec.add_runtime_dependency "parslet", "~> 1.7.1"
|
30
29
|
spec.add_runtime_dependency "ruby-graphviz", "~> 1.2"
|
31
30
|
spec.add_runtime_dependency "thor", "~> 1.0"
|
32
31
|
|
32
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
33
33
|
spec.add_development_dependency "byebug"
|
34
34
|
spec.add_development_dependency "nokogiri", "~> 1.10"
|
35
|
-
spec.add_development_dependency "rubocop", "~> 0.54.0"
|
36
|
-
spec.add_development_dependency "bundler", "~> 2.0"
|
37
35
|
spec.add_development_dependency "pry", "~> 0.12.2"
|
38
36
|
spec.add_development_dependency "rake", "~> 10.0"
|
39
37
|
spec.add_development_dependency "rspec", "~> 3.0"
|
38
|
+
spec.add_development_dependency "rubocop", "~> 0.54.0"
|
40
39
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
diagram MyView {
|
2
|
+
title "my diagram"
|
3
|
+
|
4
|
+
class AddressClassProfile {
|
5
|
+
definition {
|
6
|
+
this is multiline with `ascidoc`
|
7
|
+
comments
|
8
|
+
and list
|
9
|
+
\{foo\} \{name\}
|
10
|
+
}
|
11
|
+
+addressClassProfile: CharacterString [0..1]
|
12
|
+
}
|
13
|
+
|
14
|
+
class AttributeProfile {
|
15
|
+
imlicistAttributeProfile: CharacterString [0..1] {
|
16
|
+
definition
|
17
|
+
{
|
18
|
+
this is attribute definition
|
19
|
+
with multiply lines
|
20
|
+
\{foo\} \{name\}
|
21
|
+
end definition
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -121,7 +121,7 @@ RSpec.describe Lutaml::Uml::Parsers::Dsl do
|
|
121
121
|
expect(association.member_end).to(eq("AttributeProfile"))
|
122
122
|
expect(association.member_end_attribute_name)
|
123
123
|
.to(eq("attributeProfile"))
|
124
|
-
expect(association.member_end_cardinality).to(eq(min
|
124
|
+
expect(association.member_end_cardinality).to(eq("min" => "0", "max" => "*"))
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
@@ -248,5 +248,29 @@ RSpec.describe Lutaml::Uml::Parsers::Dsl do
|
|
248
248
|
|
249
249
|
it_behaves_like "the correct graphviz formatting"
|
250
250
|
end
|
251
|
+
|
252
|
+
context "when defninition directives included" do
|
253
|
+
let(:content) do
|
254
|
+
File.new(fixtures_path("dsl/diagram_definitions.lutaml"))
|
255
|
+
end
|
256
|
+
let(:class_definition) do
|
257
|
+
"this is multiline with `ascidoc`\ncomments\nand list\n{foo} {name}"
|
258
|
+
end
|
259
|
+
let(:attribute_definition) do
|
260
|
+
"this is attribute definition\nwith multiply lines\n{foo} {name}\nend definition"
|
261
|
+
end
|
262
|
+
|
263
|
+
it "create comments for document and classes" do
|
264
|
+
expect(by_name(parse.classes, "AddressClassProfile").definition)
|
265
|
+
.to(eq(class_definition))
|
266
|
+
expect(by_name(parse.classes, "AttributeProfile")
|
267
|
+
.attributes
|
268
|
+
.first
|
269
|
+
.definition)
|
270
|
+
.to(eq(attribute_definition))
|
271
|
+
end
|
272
|
+
|
273
|
+
it_behaves_like "the correct graphviz formatting"
|
274
|
+
end
|
251
275
|
end
|
252
276
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lutaml-uml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: activesupport
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '5.0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '5.0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: hashie
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,61 +67,47 @@ dependencies:
|
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '1.0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: nokogiri
|
70
|
+
name: bundler
|
99
71
|
requirement: !ruby/object:Gem::Requirement
|
100
72
|
requirements:
|
101
73
|
- - "~>"
|
102
74
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
75
|
+
version: '2.0'
|
104
76
|
type: :development
|
105
77
|
prerelease: false
|
106
78
|
version_requirements: !ruby/object:Gem::Requirement
|
107
79
|
requirements:
|
108
80
|
- - "~>"
|
109
81
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
82
|
+
version: '2.0'
|
111
83
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
84
|
+
name: byebug
|
113
85
|
requirement: !ruby/object:Gem::Requirement
|
114
86
|
requirements:
|
115
|
-
- - "
|
87
|
+
- - ">="
|
116
88
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0
|
89
|
+
version: '0'
|
118
90
|
type: :development
|
119
91
|
prerelease: false
|
120
92
|
version_requirements: !ruby/object:Gem::Requirement
|
121
93
|
requirements:
|
122
|
-
- - "
|
94
|
+
- - ">="
|
123
95
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0
|
96
|
+
version: '0'
|
125
97
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
98
|
+
name: nokogiri
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
128
100
|
requirements:
|
129
101
|
- - "~>"
|
130
102
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
103
|
+
version: '1.10'
|
132
104
|
type: :development
|
133
105
|
prerelease: false
|
134
106
|
version_requirements: !ruby/object:Gem::Requirement
|
135
107
|
requirements:
|
136
108
|
- - "~>"
|
137
109
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
110
|
+
version: '1.10'
|
139
111
|
- !ruby/object:Gem::Dependency
|
140
112
|
name: pry
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +150,20 @@ dependencies:
|
|
178
150
|
- - "~>"
|
179
151
|
- !ruby/object:Gem::Version
|
180
152
|
version: '3.0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.54.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.54.0
|
181
167
|
description: UML model module for LutaML.
|
182
168
|
email:
|
183
169
|
- open.source@ribose.com'
|
@@ -297,6 +283,7 @@ files:
|
|
297
283
|
- spec/fixtures/dsl/diagram_comments.lutaml
|
298
284
|
- spec/fixtures/dsl/diagram_concept_model.lutaml
|
299
285
|
- spec/fixtures/dsl/diagram_data_types.lutaml
|
286
|
+
- spec/fixtures/dsl/diagram_definitions.lutaml
|
300
287
|
- spec/fixtures/dsl/diagram_includes.lutaml
|
301
288
|
- spec/fixtures/dsl/diagram_multiply_classes.lutaml
|
302
289
|
- spec/fixtures/dsl/shared.lutaml
|