rgen 0.9.0 → 0.10.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/CHANGELOG +9 -1
- data/Project.yaml +2 -2
- data/lib/rgen/ecore/ecore.rb +3 -3
- data/lib/rgen/ecore/ecore_to_json.rb +0 -2
- data/lib/rgen/template_language/template_container.rb +1 -1
- data/test/metamodel_builder_test.rb +4 -5
- data/test/metamodel_roundtrip_test/using_builtin_types.ecore +1 -1
- data/test/template_language_test.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 718b7e6aeacd446bb08225196146552c65033210
|
4
|
+
data.tar.gz: cc635adbb4efece25018192e3252329908c33816
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df6c209888d596ff60c3ec98727a725ff5bc3633c4623064394d3836348538d69e0ffa3fb279f9d41aade24fcc7620c3e5f5b0a32d38654f0509fc952991cbeb
|
7
|
+
data.tar.gz: 622b0cd9abe40acba98091eb0fdcb7c2abcc73cde5c755ed51da2792f22d1c40b7546eb71e2a8905305a1718c79d330686954056e2e81c3b76569ad3e0d25b5e
|
data/CHANGELOG
CHANGED
@@ -225,4 +225,12 @@
|
|
225
225
|
|
226
226
|
=0.9.0
|
227
227
|
|
228
|
-
* Update to support Ruby 2.7, drop support for older Rubies
|
228
|
+
* Update to support Ruby 2.7, drop support for older Rubies
|
229
|
+
|
230
|
+
=0.9.1
|
231
|
+
|
232
|
+
* fixes in ecore model (make ENamedElement required; set default for EClass::{abstract, interface})
|
233
|
+
|
234
|
+
=0.10.0
|
235
|
+
|
236
|
+
* Added support for Ruby up to 3.2
|
data/Project.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
name: rgen
|
2
2
|
gemspec: rgen.gemspec
|
3
3
|
git: https://github.com/mthiede/rgen.git
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
summary: Ruby Modelling and Generator Framework
|
6
6
|
email: martin dot thiede at gmx de
|
7
7
|
homepage: http://ruby-gen.org
|
@@ -15,7 +15,7 @@ exclude_files: ['**/*.bak']
|
|
15
15
|
encrypt_sources: false
|
16
16
|
dependencies:
|
17
17
|
https://rubygems.org:
|
18
|
-
- {name: nokogiri, version: ['>= 1.
|
18
|
+
- {name: nokogiri, version: ['>= 1.14.2', '< 1.15'], development: true}
|
19
19
|
- {name: rake, version: '~> 12.0', development: true}
|
20
20
|
- {name: minitest, version: ['~> 5.0', '>= 5.10.1'], development: true}
|
21
21
|
- {name: minitest-fail-fast, version: '~> 0.1.0', development: true}
|
data/lib/rgen/ecore/ecore.rb
CHANGED
@@ -25,7 +25,7 @@ module RGen
|
|
25
25
|
|
26
26
|
class ENamedElement < EModelElement
|
27
27
|
abstract
|
28
|
-
has_attr 'name', String
|
28
|
+
has_attr 'name', String, :lowerBound => 1
|
29
29
|
end
|
30
30
|
|
31
31
|
class ETypedElement < ENamedElement
|
@@ -148,8 +148,8 @@ module RGen
|
|
148
148
|
end
|
149
149
|
|
150
150
|
class EClass < EClassifier
|
151
|
-
has_attr 'abstract', Boolean
|
152
|
-
has_attr 'interface', Boolean
|
151
|
+
has_attr 'abstract', Boolean, :defaultValueLiteral => "false"
|
152
|
+
has_attr 'interface', Boolean, :defaultValueLiteral => "false"
|
153
153
|
has_one 'eIDAttribute', ECore::EAttribute, :derived=>true, :resolveProxies=>false
|
154
154
|
|
155
155
|
has_many 'eAllAttributes', ECore::EAttribute, :derived=>true
|
@@ -29,7 +29,7 @@ module RGen
|
|
29
29
|
@@metamodels = @metamodels
|
30
30
|
fileContent = f.read
|
31
31
|
_detectNewLinePattern(fileContent)
|
32
|
-
ERB.new(fileContent,
|
32
|
+
ERB.new(fileContent, eoutvar:'@output').result(binding)
|
33
33
|
rescue Exception => e
|
34
34
|
processAndRaise(e)
|
35
35
|
end
|
@@ -226,7 +226,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
226
226
|
err = assert_raises StandardError do
|
227
227
|
sc.allowed = :someSymbol
|
228
228
|
end
|
229
|
-
assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(:someSymbol\) where a \[true,false\] is expected/, err.message
|
229
|
+
assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(someSymbol\)\(:someSymbol\) where a \[true,false\] is expected/, err.message
|
230
230
|
err = assert_raises StandardError do
|
231
231
|
sc.allowed = "a string"
|
232
232
|
end
|
@@ -244,7 +244,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
244
244
|
err = assert_raises StandardError do
|
245
245
|
sc.kind = :false
|
246
246
|
end
|
247
|
-
assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(:false\) where a \[:simple,:extended\] is expected/, err.message
|
247
|
+
assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(false\)\(:false\) where a \[:simple,:extended\] is expected/, err.message
|
248
248
|
err = assert_raises StandardError do
|
249
249
|
sc.kind = "a string"
|
250
250
|
end
|
@@ -280,7 +280,6 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
280
280
|
assert_equal 5, sc.longWithDefault
|
281
281
|
sc.longWithDefault = (2**(0.size * 8 -2) -1) + 1
|
282
282
|
assert_equal (2**(0.size * 8 -2) -1) + 1, sc.longWithDefault
|
283
|
-
assert sc.longWithDefault.is_a?(Bignum)
|
284
283
|
assert sc.longWithDefault.is_a?(Integer)
|
285
284
|
err = assert_raises StandardError do
|
286
285
|
sc.longWithDefault = "a string"
|
@@ -616,7 +615,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
616
615
|
err = assert_raises StandardError do
|
617
616
|
bc.addAClasses :notaaclass
|
618
617
|
end
|
619
|
-
assert_match /In (\w+::)+BClassMM : Can not use a Symbol\(:notaaclass\) where a (\w+::)+AClassMM is expected/, err.message
|
618
|
+
assert_match /In (\w+::)+BClassMM : Can not use a Symbol\(notaaclass\)\(:notaaclass\) where a (\w+::)+AClassMM is expected/, err.message
|
620
619
|
|
621
620
|
# remove the AClass from the BClass
|
622
621
|
bc.removeAClasses ac
|
@@ -632,7 +631,7 @@ class MetamodelBuilderTest < MiniTest::Test
|
|
632
631
|
err = assert_raises StandardError do
|
633
632
|
ac.addBClasses :notabclass
|
634
633
|
end
|
635
|
-
assert_match /In (\w+::)+AClassMM : Can not use a Symbol\(:notabclass\) where a (\w+::)+BClassMM is expected/, err.message
|
634
|
+
assert_match /In (\w+::)+AClassMM : Can not use a Symbol\(notabclass\)\(:notabclass\) where a (\w+::)+BClassMM is expected/, err.message
|
636
635
|
|
637
636
|
# remove the BClass from the AClass
|
638
637
|
ac.removeBClasses bc
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<ecore:EPackage name="P1" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore">
|
2
|
-
<eClassifiers name="C1" xsi:type="ecore:EClass">
|
2
|
+
<eClassifiers abstract="false" interface="false" name="C1" xsi:type="ecore:EClass">
|
3
3
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" xsi:type="ecore:EAttribute"/>
|
4
4
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a2" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" xsi:type="ecore:EAttribute"/>
|
5
5
|
<eStructuralFeatures iD="false" changeable="true" derived="false" transient="false" unsettable="false" volatile="false" lowerBound="0" ordered="true" unique="true" upperBound="1" name="a3" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" xsi:type="ecore:EAttribute"/>
|
@@ -61,7 +61,7 @@ class TemplateContainerTest < MiniTest::Test
|
|
61
61
|
def test_with_model
|
62
62
|
tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
|
63
63
|
tc.load(TEMPLATES_DIR)
|
64
|
-
File.delete(OUTPUT_DIR+"/testout.txt") if File.
|
64
|
+
File.delete(OUTPUT_DIR+"/testout.txt") if File.exist? OUTPUT_DIR+"/testout.txt"
|
65
65
|
tc.expand('root::Root', :for => TEST_MODEL, :indent => 1)
|
66
66
|
result = expected = ""
|
67
67
|
File.open(OUTPUT_DIR+"/testout.txt") {|f| result = f.read}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Thiede
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.14.2
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '1.
|
22
|
+
version: '1.15'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.14.2
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '1.
|
32
|
+
version: '1.15'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|