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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5091748f0290a5b0c82cf66e3bf2fea91ac774f6
4
- data.tar.gz: db0663f172064272ed0bcd037e6715c12729429b
3
+ metadata.gz: 718b7e6aeacd446bb08225196146552c65033210
4
+ data.tar.gz: cc635adbb4efece25018192e3252329908c33816
5
5
  SHA512:
6
- metadata.gz: 1355aa9282e5c3a18a93b65788f4fb5a4f92b26bb5cf89fa50e7ec71bd63dad090af06b73e292e959a7750fe08d75a5e0e4a5f0010fe84bb162c6eed1af338d1
7
- data.tar.gz: 3f8755a969d35c22d4d8b3bcabeb6c75799b48b416d242a83530afbdc8b7364e682ba59750eddc375a454b450ef1ed5d32941951d7397430f4172d37aa1841a7
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.9.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.11.2', '< 1.12'], development: true}
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}
@@ -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
@@ -134,8 +134,6 @@ def etypedelement(te)
134
134
  :unique => te.unique,
135
135
  :lowerBound => te.lowerBound,
136
136
  :upperBound => te.upperBound,
137
- :many => te.many,
138
- :required => te.required,
139
137
  :eType => {:_ref => te.eType ? ref_id(te.eType) : nil}
140
138
  })
141
139
  end
@@ -29,7 +29,7 @@ module RGen
29
29
  @@metamodels = @metamodels
30
30
  fileContent = f.read
31
31
  _detectNewLinePattern(fileContent)
32
- ERB.new(fileContent,nil,nil,'@output').result(binding)
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.exists? OUTPUT_DIR+"/testout.txt"
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.9.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: 2021-03-30 00:00:00.000000000 Z
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.11.2
19
+ version: 1.14.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.12'
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.11.2
29
+ version: 1.14.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.12'
32
+ version: '1.15'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement